diff --git a/node_modules/.bin/actions-toolkit b/node_modules/.bin/actions-toolkit new file mode 120000 index 0000000..4a95d36 --- /dev/null +++ b/node_modules/.bin/actions-toolkit @@ -0,0 +1 @@ +../actions-toolkit/bin/cli.js \ No newline at end of file diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse new file mode 120000 index 0000000..7423b18 --- /dev/null +++ b/node_modules/.bin/esparse @@ -0,0 +1 @@ +../esprima/bin/esparse.js \ No newline at end of file diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate new file mode 120000 index 0000000..16069ef --- /dev/null +++ b/node_modules/.bin/esvalidate @@ -0,0 +1 @@ +../esprima/bin/esvalidate.js \ No newline at end of file diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml new file mode 120000 index 0000000..9dbd010 --- /dev/null +++ b/node_modules/.bin/js-yaml @@ -0,0 +1 @@ +../js-yaml/bin/js-yaml.js \ No newline at end of file diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp new file mode 120000 index 0000000..017896c --- /dev/null +++ b/node_modules/.bin/mkdirp @@ -0,0 +1 @@ +../mkdirp/bin/cmd.js \ No newline at end of file diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver new file mode 120000 index 0000000..317eb29 --- /dev/null +++ b/node_modules/.bin/semver @@ -0,0 +1 @@ +../semver/bin/semver \ No newline at end of file diff --git a/node_modules/.bin/which b/node_modules/.bin/which new file mode 120000 index 0000000..f62471c --- /dev/null +++ b/node_modules/.bin/which @@ -0,0 +1 @@ +../which/bin/which \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/endpoint/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/endpoint/LICENSE @@ -0,0 +1,21 @@ +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 new file mode 100644 index 0000000..74d9899 --- /dev/null +++ b/node_modules/@octokit/endpoint/README.md @@ -0,0 +1,421 @@ +# 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) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/endpoint.js.svg)](https://greenkeeper.io/) + +`@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()](#endpoint) + - [endpoint.defaults()](#endpointdefaults) + - [endpoint.DEFAULTS](#endpointdefaults) + - [endpoint.merge()](#endpointmerge) + - [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 cdn.pika.dev + +```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.mediaType.previews + + Array of Strings + + Name of previews, such as mercy, symmetra, or scarlet-witch. See API Previews. If options.mediaType.previews was set as default, the new previews will be merged into the default ones. Setting options.mediaType.previews will amend the headers.accept value. options.mediaType.previews will be merged with an existing array set using .defaults(). +
+ 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 new file mode 100644 index 0000000..1a92cb0 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-node/index.js @@ -0,0 +1,379 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var isPlainObject = _interopDefault(require('is-plain-object')); +var universalUserAgent = require('universal-user-agent'); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +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; +} + +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); + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten + + 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; +} + +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("&"); +} + +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), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// 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. +// 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 COPYRIGHT OWNER 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. + +/* istanbul ignore file */ +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 !== undefined && 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 (value) { + result.push(encodeValue(operator, value, 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 (value) { + tmp.push(encodeValue(operator, value)); + }); + } 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); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible + + 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"]); // extract variable names from URL to calculate remaining variables later + + 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 isBinaryRequset = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequset) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + + 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(","); + } + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + + + 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; + } else { + headers["content-length"] = 0; + } + } + } // default content-type for JSON if body is set + + + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + + + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present + + + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +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 + }); +} + +const VERSION = "5.5.0"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. + +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/endpoint/dist-node/index.js.map new file mode 100644 index 0000000..d68d184 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.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/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export 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}\n","import isPlainObject from \"is-plain-object\";\nexport function 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 }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nexport function 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 }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter(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 return mergedOptions;\n}\n","export 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 +\n separator +\n names\n .map(name => {\n if (name === \"q\") {\n return (\"q=\" +\n parameters\n .q.split(\"+\")\n .map(encodeURIComponent)\n .join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function 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}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter(option => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part)\n .replace(/%5B/g, \"[\")\n .replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return (\"%\" +\n c\n .charCodeAt(0)\n .toString(16)\n .toUpperCase());\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && 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\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, 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 }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\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 }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, 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 }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\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\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\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 // extract variable names from URL to calculate remaining variables later\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)\n .filter(option => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequset = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequset) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map(preview => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function 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}\n","export const VERSION = \"5.5.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const 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 previews: []\n }\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":["lowercaseKeys","object","Object","keys","reduce","newObj","key","toLowerCase","mergeDeep","defaults","options","result","assign","forEach","isPlainObject","merge","route","method","url","split","headers","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","addQueryParameters","parameters","separator","test","names","name","q","encodeURIComponent","join","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","matches","match","a","b","omit","keysToOmit","option","obj","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","undefined","isKeyOperator","getValues","context","modifier","substring","parseInt","push","Array","isArray","k","tmp","parseUrl","template","expand","bind","operators","_","expression","literal","values","indexOf","charAt","substr","variable","exec","parse","body","urlVariableNames","baseUrl","omittedParameters","remainingParameters","isBinaryRequset","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":";;;;;;;;;AAAO,SAASA,aAAT,CAAuBC,MAAvB,EAA+B;MAC9B,CAACA,MAAL,EAAa;WACF,EAAP;;;SAEGC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,MAApB,CAA2B,CAACC,MAAD,EAASC,GAAT,KAAiB;IAC/CD,MAAM,CAACC,GAAG,CAACC,WAAJ,EAAD,CAAN,GAA4BN,MAAM,CAACK,GAAD,CAAlC;WACOD,MAAP;GAFG,EAGJ,EAHI,CAAP;;;ACHG,SAASG,SAAT,CAAmBC,QAAnB,EAA6BC,OAA7B,EAAsC;QACnCC,MAAM,GAAGT,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBH,QAAlB,CAAf;EACAP,MAAM,CAACC,IAAP,CAAYO,OAAZ,EAAqBG,OAArB,CAA6BP,GAAG,IAAI;QAC5BQ,aAAa,CAACJ,OAAO,CAACJ,GAAD,CAAR,CAAjB,EAAiC;UACzB,EAAEA,GAAG,IAAIG,QAAT,CAAJ,EACIP,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;SAAGL,GAAD,GAAOI,OAAO,CAACJ,GAAD;OAAtC,EADJ,KAGIK,MAAM,CAACL,GAAD,CAAN,GAAcE,SAAS,CAACC,QAAQ,CAACH,GAAD,CAAT,EAAgBI,OAAO,CAACJ,GAAD,CAAvB,CAAvB;KAJR,MAMK;MACDJ,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;SAAGL,GAAD,GAAOI,OAAO,CAACJ,GAAD;OAAtC;;GARR;SAWOK,MAAP;;;ACZG,SAASI,KAAT,CAAeN,QAAf,EAAyBO,KAAzB,EAAgCN,OAAhC,EAAyC;MACxC,OAAOM,KAAP,KAAiB,QAArB,EAA+B;QACvB,CAACC,MAAD,EAASC,GAAT,IAAgBF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAApB;IACAT,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAcM,GAAG,GAAG;MAAED,MAAF;MAAUC;KAAb,GAAqB;MAAEA,GAAG,EAAED;KAA7C,EAAuDP,OAAvD,CAAV;GAFJ,MAIK;IACDA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBI,KAAlB,CAAV;GANwC;;;EAS5CN,OAAO,CAACU,OAAR,GAAkBpB,aAAa,CAACU,OAAO,CAACU,OAAT,CAA/B;QACMC,aAAa,GAAGb,SAAS,CAACC,QAAQ,IAAI,EAAb,EAAiBC,OAAjB,CAA/B,CAV4C;;MAYxCD,QAAQ,IAAIA,QAAQ,CAACa,SAAT,CAAmBC,QAAnB,CAA4BC,MAA5C,EAAoD;IAChDH,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCd,QAAQ,CAACa,SAAT,CAAmBC,QAAnB,CAC9BE,MAD8B,CACvBC,OAAO,IAAI,CAACL,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCI,QAAjC,CAA0CD,OAA1C,CADW,EAE9BE,MAF8B,CAEvBP,aAAa,CAACC,SAAd,CAAwBC,QAFD,CAAnC;;;EAIJF,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCF,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCM,GAAjC,CAAsCH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,UAAhB,EAA4B,EAA5B,CAAlD,CAAnC;SACOT,aAAP;;;ACpBG,SAASU,kBAAT,CAA4Bb,GAA5B,EAAiCc,UAAjC,EAA6C;QAC1CC,SAAS,GAAG,KAAKC,IAAL,CAAUhB,GAAV,IAAiB,GAAjB,GAAuB,GAAzC;QACMiB,KAAK,GAAGjC,MAAM,CAACC,IAAP,CAAY6B,UAAZ,CAAd;;MACIG,KAAK,CAACX,MAAN,KAAiB,CAArB,EAAwB;WACbN,GAAP;;;SAEIA,GAAG,GACPe,SADI,GAEJE,KAAK,CACAN,GADL,CACSO,IAAI,IAAI;QACTA,IAAI,KAAK,GAAb,EAAkB;aACN,OACJJ,UAAU,CACLK,CADL,CACOlB,KADP,CACa,GADb,EAEKU,GAFL,CAESS,kBAFT,EAGKC,IAHL,CAGU,GAHV,CADJ;;;WAMI,GAAEH,IAAK,IAAGE,kBAAkB,CAACN,UAAU,CAACI,IAAD,CAAX,CAAmB,EAAvD;GATJ,EAWKG,IAXL,CAWU,GAXV,CAFJ;;;ACNJ,MAAMC,gBAAgB,GAAG,YAAzB;;AACA,SAASC,cAAT,CAAwBC,YAAxB,EAAsC;SAC3BA,YAAY,CAACZ,OAAb,CAAqB,YAArB,EAAmC,EAAnC,EAAuCX,KAAvC,CAA6C,GAA7C,CAAP;;;AAEJ,AAAO,SAASwB,uBAAT,CAAiCzB,GAAjC,EAAsC;QACnC0B,OAAO,GAAG1B,GAAG,CAAC2B,KAAJ,CAAUL,gBAAV,CAAhB;;MACI,CAACI,OAAL,EAAc;WACH,EAAP;;;SAEGA,OAAO,CAACf,GAAR,CAAYY,cAAZ,EAA4BrC,MAA5B,CAAmC,CAAC0C,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAAClB,MAAF,CAASmB,CAAT,CAA7C,EAA0D,EAA1D,CAAP;;;ACTG,SAASC,IAAT,CAAc/C,MAAd,EAAsBgD,UAAtB,EAAkC;SAC9B/C,MAAM,CAACC,IAAP,CAAYF,MAAZ,EACFwB,MADE,CACKyB,MAAM,IAAI,CAACD,UAAU,CAACtB,QAAX,CAAoBuB,MAApB,CADhB,EAEF9C,MAFE,CAEK,CAAC+C,GAAD,EAAM7C,GAAN,KAAc;IACtB6C,GAAG,CAAC7C,GAAD,CAAH,GAAWL,MAAM,CAACK,GAAD,CAAjB;WACO6C,GAAP;GAJG,EAKJ,EALI,CAAP;;;ACDJ;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAASC,cAAT,CAAwBC,GAAxB,EAA6B;SAClBA,GAAG,CACLlC,KADE,CACI,oBADJ,EAEFU,GAFE,CAEE,UAAUyB,IAAV,EAAgB;QACjB,CAAC,eAAepB,IAAf,CAAoBoB,IAApB,CAAL,EAAgC;MAC5BA,IAAI,GAAGC,SAAS,CAACD,IAAD,CAAT,CACFxB,OADE,CACM,MADN,EACc,GADd,EAEFA,OAFE,CAEM,MAFN,EAEc,GAFd,CAAP;;;WAIGwB,IAAP;GARG,EAUFf,IAVE,CAUG,EAVH,CAAP;;;AAYJ,SAASiB,gBAAT,CAA0BH,GAA1B,EAA+B;SACpBf,kBAAkB,CAACe,GAAD,CAAlB,CAAwBvB,OAAxB,CAAgC,UAAhC,EAA4C,UAAU2B,CAAV,EAAa;WACpD,MACJA,CAAC,CACIC,UADL,CACgB,CADhB,EAEKC,QAFL,CAEc,EAFd,EAGKC,WAHL,EADJ;GADG,CAAP;;;AAQJ,SAASC,WAAT,CAAqBC,QAArB,EAA+BC,KAA/B,EAAsCzD,GAAtC,EAA2C;EACvCyD,KAAK,GACDD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,GACMV,cAAc,CAACW,KAAD,CADpB,GAEMP,gBAAgB,CAACO,KAAD,CAH1B;;MAIIzD,GAAJ,EAAS;WACEkD,gBAAgB,CAAClD,GAAD,CAAhB,GAAwB,GAAxB,GAA8ByD,KAArC;GADJ,MAGK;WACMA,KAAP;;;;AAGR,SAASC,SAAT,CAAmBD,KAAnB,EAA0B;SACfA,KAAK,KAAKE,SAAV,IAAuBF,KAAK,KAAK,IAAxC;;;AAEJ,SAASG,aAAT,CAAuBJ,QAAvB,EAAiC;SACtBA,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,IAAwCA,QAAQ,KAAK,GAA5D;;;AAEJ,SAASK,SAAT,CAAmBC,OAAnB,EAA4BN,QAA5B,EAAsCxD,GAAtC,EAA2C+D,QAA3C,EAAqD;MAC7CN,KAAK,GAAGK,OAAO,CAAC9D,GAAD,CAAnB;MAA0BK,MAAM,GAAG,EAAnC;;MACIqD,SAAS,CAACD,KAAD,CAAT,IAAoBA,KAAK,KAAK,EAAlC,EAAsC;QAC9B,OAAOA,KAAP,KAAiB,QAAjB,IACA,OAAOA,KAAP,KAAiB,QADjB,IAEA,OAAOA,KAAP,KAAiB,SAFrB,EAEgC;MAC5BA,KAAK,GAAGA,KAAK,CAACJ,QAAN,EAAR;;UACIU,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;QAC9BN,KAAK,GAAGA,KAAK,CAACO,SAAN,CAAgB,CAAhB,EAAmBC,QAAQ,CAACF,QAAD,EAAW,EAAX,CAA3B,CAAR;;;MAEJ1D,MAAM,CAAC6D,IAAP,CAAYX,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBG,aAAa,CAACJ,QAAD,CAAb,GAA0BxD,GAA1B,GAAgC,EAAlD,CAAvB;KAPJ,MASK;UACG+D,QAAQ,KAAK,GAAjB,EAAsB;YACdI,KAAK,CAACC,OAAN,CAAcX,KAAd,CAAJ,EAA0B;UACtBA,KAAK,CAACtC,MAAN,CAAauC,SAAb,EAAwBnD,OAAxB,CAAgC,UAAUkD,KAAV,EAAiB;YAC7CpD,MAAM,CAAC6D,IAAP,CAAYX,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBG,aAAa,CAACJ,QAAD,CAAb,GAA0BxD,GAA1B,GAAgC,EAAlD,CAAvB;WADJ;SADJ,MAKK;UACDJ,MAAM,CAACC,IAAP,CAAY4D,KAAZ,EAAmBlD,OAAnB,CAA2B,UAAU8D,CAAV,EAAa;gBAChCX,SAAS,CAACD,KAAK,CAACY,CAAD,CAAN,CAAb,EAAyB;cACrBhE,MAAM,CAAC6D,IAAP,CAAYX,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACY,CAAD,CAAhB,EAAqBA,CAArB,CAAvB;;WAFR;;OAPR,MAcK;cACKC,GAAG,GAAG,EAAZ;;YACIH,KAAK,CAACC,OAAN,CAAcX,KAAd,CAAJ,EAA0B;UACtBA,KAAK,CAACtC,MAAN,CAAauC,SAAb,EAAwBnD,OAAxB,CAAgC,UAAUkD,KAAV,EAAiB;YAC7Ca,GAAG,CAACJ,IAAJ,CAASX,WAAW,CAACC,QAAD,EAAWC,KAAX,CAApB;WADJ;SADJ,MAKK;UACD7D,MAAM,CAACC,IAAP,CAAY4D,KAAZ,EAAmBlD,OAAnB,CAA2B,UAAU8D,CAAV,EAAa;gBAChCX,SAAS,CAACD,KAAK,CAACY,CAAD,CAAN,CAAb,EAAyB;cACrBC,GAAG,CAACJ,IAAJ,CAAShB,gBAAgB,CAACmB,CAAD,CAAzB;cACAC,GAAG,CAACJ,IAAJ,CAASX,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACY,CAAD,CAAL,CAAShB,QAAT,EAAX,CAApB;;WAHR;;;YAOAO,aAAa,CAACJ,QAAD,CAAjB,EAA6B;UACzBnD,MAAM,CAAC6D,IAAP,CAAYhB,gBAAgB,CAAClD,GAAD,CAAhB,GAAwB,GAAxB,GAA8BsE,GAAG,CAACrC,IAAJ,CAAS,GAAT,CAA1C;SADJ,MAGK,IAAIqC,GAAG,CAACpD,MAAJ,KAAe,CAAnB,EAAsB;UACvBb,MAAM,CAAC6D,IAAP,CAAYI,GAAG,CAACrC,IAAJ,CAAS,GAAT,CAAZ;;;;GA5ChB,MAiDK;QACGuB,QAAQ,KAAK,GAAjB,EAAsB;UACdE,SAAS,CAACD,KAAD,CAAb,EAAsB;QAClBpD,MAAM,CAAC6D,IAAP,CAAYhB,gBAAgB,CAAClD,GAAD,CAA5B;;KAFR,MAKK,IAAIyD,KAAK,KAAK,EAAV,KAAiBD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAlD,CAAJ,EAA4D;MAC7DnD,MAAM,CAAC6D,IAAP,CAAYhB,gBAAgB,CAAClD,GAAD,CAAhB,GAAwB,GAApC;KADC,MAGA,IAAIyD,KAAK,KAAK,EAAd,EAAkB;MACnBpD,MAAM,CAAC6D,IAAP,CAAY,EAAZ;;;;SAGD7D,MAAP;;;AAEJ,AAAO,SAASkE,QAAT,CAAkBC,QAAlB,EAA4B;SACxB;IACHC,MAAM,EAAEA,MAAM,CAACC,IAAP,CAAY,IAAZ,EAAkBF,QAAlB;GADZ;;;AAIJ,SAASC,MAAT,CAAgBD,QAAhB,EAA0BV,OAA1B,EAAmC;MAC3Ba,SAAS,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAAhB;SACOH,QAAQ,CAAChD,OAAT,CAAiB,4BAAjB,EAA+C,UAAUoD,CAAV,EAAaC,UAAb,EAAyBC,OAAzB,EAAkC;QAChFD,UAAJ,EAAgB;UACRrB,QAAQ,GAAG,EAAf;YACMuB,MAAM,GAAG,EAAf;;UACIJ,SAAS,CAACK,OAAV,CAAkBH,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAlB,MAA4C,CAAC,CAAjD,EAAoD;QAChDzB,QAAQ,GAAGqB,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAX;QACAJ,UAAU,GAAGA,UAAU,CAACK,MAAX,CAAkB,CAAlB,CAAb;;;MAEJL,UAAU,CAAChE,KAAX,CAAiB,IAAjB,EAAuBN,OAAvB,CAA+B,UAAU4E,QAAV,EAAoB;YAC3Cb,GAAG,GAAG,4BAA4Bc,IAA5B,CAAiCD,QAAjC,CAAV;QACAJ,MAAM,CAACb,IAAP,CAAYL,SAAS,CAACC,OAAD,EAAUN,QAAV,EAAoBc,GAAG,CAAC,CAAD,CAAvB,EAA4BA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAG,CAAC,CAAD,CAAzC,CAArB;OAFJ;;UAIId,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;YAC1B7B,SAAS,GAAG,GAAhB;;YACI6B,QAAQ,KAAK,GAAjB,EAAsB;UAClB7B,SAAS,GAAG,GAAZ;SADJ,MAGK,IAAI6B,QAAQ,KAAK,GAAjB,EAAsB;UACvB7B,SAAS,GAAG6B,QAAZ;;;eAEG,CAACuB,MAAM,CAAC7D,MAAP,KAAkB,CAAlB,GAAsBsC,QAAtB,GAAiC,EAAlC,IAAwCuB,MAAM,CAAC9C,IAAP,CAAYN,SAAZ,CAA/C;OARJ,MAUK;eACMoD,MAAM,CAAC9C,IAAP,CAAY,GAAZ,CAAP;;KAtBR,MAyBK;aACMa,cAAc,CAACgC,OAAD,CAArB;;GA3BD,CAAP;;;ACvIG,SAASO,KAAT,CAAejF,OAAf,EAAwB;;MAEvBO,MAAM,GAAGP,OAAO,CAACO,MAAR,CAAe2C,WAAf,EAAb,CAF2B;;MAIvB1C,GAAG,GAAG,CAACR,OAAO,CAACQ,GAAR,IAAe,GAAhB,EAAqBY,OAArB,CAA6B,cAA7B,EAA6C,OAA7C,CAAV;MACIV,OAAO,GAAGlB,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBF,OAAO,CAACU,OAA1B,CAAd;MACIwE,IAAJ;MACI5D,UAAU,GAAGgB,IAAI,CAACtC,OAAD,EAAU,CAC3B,QAD2B,EAE3B,SAF2B,EAG3B,KAH2B,EAI3B,SAJ2B,EAK3B,SAL2B,EAM3B,WAN2B,CAAV,CAArB,CAP2B;;QAgBrBmF,gBAAgB,GAAGlD,uBAAuB,CAACzB,GAAD,CAAhD;EACAA,GAAG,GAAG2D,QAAQ,CAAC3D,GAAD,CAAR,CAAc6D,MAAd,CAAqB/C,UAArB,CAAN;;MACI,CAAC,QAAQE,IAAR,CAAahB,GAAb,CAAL,EAAwB;IACpBA,GAAG,GAAGR,OAAO,CAACoF,OAAR,GAAkB5E,GAAxB;;;QAEE6E,iBAAiB,GAAG7F,MAAM,CAACC,IAAP,CAAYO,OAAZ,EACrBe,MADqB,CACdyB,MAAM,IAAI2C,gBAAgB,CAAClE,QAAjB,CAA0BuB,MAA1B,CADI,EAErBtB,MAFqB,CAEd,SAFc,CAA1B;QAGMoE,mBAAmB,GAAGhD,IAAI,CAAChB,UAAD,EAAa+D,iBAAb,CAAhC;QACME,eAAe,GAAG,6BAA6B/D,IAA7B,CAAkCd,OAAO,CAAC8E,MAA1C,CAAxB;;MACI,CAACD,eAAL,EAAsB;QACdvF,OAAO,CAACY,SAAR,CAAkB6E,MAAtB,EAA8B;;MAE1B/E,OAAO,CAAC8E,MAAR,GAAiB9E,OAAO,CAAC8E,MAAR,CACZ/E,KADY,CACN,GADM,EAEZU,GAFY,CAERH,OAAO,IAAIA,OAAO,CAACI,OAAR,CAAgB,kDAAhB,EAAqE,uBAAsBpB,OAAO,CAACY,SAAR,CAAkB6E,MAAO,EAApH,CAFH,EAGZ5D,IAHY,CAGP,GAHO,CAAjB;;;QAKA7B,OAAO,CAACY,SAAR,CAAkBC,QAAlB,CAA2BC,MAA/B,EAAuC;YAC7B4E,wBAAwB,GAAGhF,OAAO,CAAC8E,MAAR,CAAerD,KAAf,CAAqB,qBAArB,KAA+C,EAAhF;MACAzB,OAAO,CAAC8E,MAAR,GAAiBE,wBAAwB,CACpCxE,MADY,CACLlB,OAAO,CAACY,SAAR,CAAkBC,QADb,EAEZM,GAFY,CAERH,OAAO,IAAI;cACVyE,MAAM,GAAGzF,OAAO,CAACY,SAAR,CAAkB6E,MAAlB,GACR,IAAGzF,OAAO,CAACY,SAAR,CAAkB6E,MAAO,EADpB,GAET,OAFN;eAGQ,0BAAyBzE,OAAQ,WAAUyE,MAAO,EAA1D;OANa,EAQZ5D,IARY,CAQP,GARO,CAAjB;;GApCmB;;;;MAiDvB,CAAC,KAAD,EAAQ,MAAR,EAAgBZ,QAAhB,CAAyBV,MAAzB,CAAJ,EAAsC;IAClCC,GAAG,GAAGa,kBAAkB,CAACb,GAAD,EAAM8E,mBAAN,CAAxB;GADJ,MAGK;QACG,UAAUA,mBAAd,EAAmC;MAC/BJ,IAAI,GAAGI,mBAAmB,CAACK,IAA3B;KADJ,MAGK;UACGnG,MAAM,CAACC,IAAP,CAAY6F,mBAAZ,EAAiCxE,MAArC,EAA6C;QACzCoE,IAAI,GAAGI,mBAAP;OADJ,MAGK;QACD5E,OAAO,CAAC,gBAAD,CAAP,GAA4B,CAA5B;;;GA7De;;;MAkEvB,CAACA,OAAO,CAAC,cAAD,CAAR,IAA4B,OAAOwE,IAAP,KAAgB,WAAhD,EAA6D;IACzDxE,OAAO,CAAC,cAAD,CAAP,GAA0B,iCAA1B;GAnEuB;;;;MAuEvB,CAAC,OAAD,EAAU,KAAV,EAAiBO,QAAjB,CAA0BV,MAA1B,KAAqC,OAAO2E,IAAP,KAAgB,WAAzD,EAAsE;IAClEA,IAAI,GAAG,EAAP;GAxEuB;;;SA2EpB1F,MAAM,CAACU,MAAP,CAAc;IAAEK,MAAF;IAAUC,GAAV;IAAeE;GAA7B,EAAwC,OAAOwE,IAAP,KAAgB,WAAhB,GAA8B;IAAEA;GAAhC,GAAyC,IAAjF,EAAuFlF,OAAO,CAAC4F,OAAR,GAAkB;IAAEA,OAAO,EAAE5F,OAAO,CAAC4F;GAArC,GAAiD,IAAxI,CAAP;;;AC7EG,SAASC,oBAAT,CAA8B9F,QAA9B,EAAwCO,KAAxC,EAA+CN,OAA/C,EAAwD;SACpDiF,KAAK,CAAC5E,KAAK,CAACN,QAAD,EAAWO,KAAX,EAAkBN,OAAlB,CAAN,CAAZ;;;ACAG,SAAS8F,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;QAC7CC,QAAQ,GAAG5F,KAAK,CAAC0F,WAAD,EAAcC,WAAd,CAAtB;QACME,QAAQ,GAAGL,oBAAoB,CAACvB,IAArB,CAA0B,IAA1B,EAAgC2B,QAAhC,CAAjB;SACOzG,MAAM,CAACU,MAAP,CAAcgG,QAAd,EAAwB;IAC3BD,QAD2B;IAE3BlG,QAAQ,EAAE+F,YAAY,CAACxB,IAAb,CAAkB,IAAlB,EAAwB2B,QAAxB,CAFiB;IAG3B5F,KAAK,EAAEA,KAAK,CAACiE,IAAN,CAAW,IAAX,EAAiB2B,QAAjB,CAHoB;IAI3BhB;GAJG,CAAP;;;ACNG,MAAMkB,OAAO,GAAG,mBAAhB;;ACEP,MAAMC,SAAS,GAAI,uBAAsBD,OAAQ,IAAGE,+BAAY,EAAG,EAAnE;;;AAGA,AAAO,MAAMJ,QAAQ,GAAG;EACpB1F,MAAM,EAAE,KADY;EAEpB6E,OAAO,EAAE,wBAFW;EAGpB1E,OAAO,EAAE;IACL8E,MAAM,EAAE,gCADH;kBAESY;GALE;EAOpBxF,SAAS,EAAE;IACP6E,MAAM,EAAE,EADD;IAEP5E,QAAQ,EAAE;;CATX;;MCHMqF,QAAQ,GAAGJ,YAAY,CAAC,IAAD,EAAOG,QAAP,CAA7B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/endpoint/dist-src/defaults.js new file mode 100644 index 0000000..e1e53fb --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -0,0 +1,17 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +export const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; diff --git a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js new file mode 100644 index 0000000..5763758 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -0,0 +1,5 @@ +import { merge } from "./merge"; +import { parse } from "./parse"; +export function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} diff --git a/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 0000000..599917f --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,3 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +export const endpoint = withDefaults(null, DEFAULTS); diff --git a/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/endpoint/dist-src/merge.js new file mode 100644 index 0000000..a209ffa --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/merge.js @@ -0,0 +1,22 @@ +import { lowercaseKeys } from "./util/lowercase-keys"; +import { mergeDeep } from "./util/merge-deep"; +export 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); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + 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; +} diff --git a/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/endpoint/dist-src/parse.js new file mode 100644 index 0000000..ca68ca9 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/parse.js @@ -0,0 +1,81 @@ +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"; +export function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + 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" + ]); + // extract variable names from URL to calculate remaining variables later + 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 isBinaryRequset = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequset) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept + .split(/,/) + .map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)) + .join(","); + } + 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(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + 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; + } + else { + headers["content-length"] = 0; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); +} 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 new file mode 100644 index 0000000..a78812f --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -0,0 +1,21 @@ +export 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("&")); +} 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 new file mode 100644 index 0000000..3e75db2 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -0,0 +1,11 @@ +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +export function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js new file mode 100644 index 0000000..0780642 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -0,0 +1,9 @@ +export function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js new file mode 100644 index 0000000..d1c5402 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -0,0 +1,16 @@ +import isPlainObject from "is-plain-object"; +export 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; +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/endpoint/dist-src/util/omit.js new file mode 100644 index 0000000..7e1aa6b --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -0,0 +1,8 @@ +export function omit(object, keysToOmit) { + return Object.keys(object) + .filter(option => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} diff --git a/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/endpoint/dist-src/util/url-template.js new file mode 100644 index 0000000..f6d9885 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -0,0 +1,170 @@ +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// 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. +// 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 COPYRIGHT OWNER 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. +/* istanbul ignore file */ +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 !== undefined && 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 (value) { + result.push(encodeValue(operator, value, 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 (value) { + tmp.push(encodeValue(operator, value)); + }); + } + 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; +} +export 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); + } + }); +} diff --git a/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 0000000..b3b230c --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "5.5.0"; diff --git a/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/endpoint/dist-src/with-defaults.js new file mode 100644 index 0000000..9a1c886 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -0,0 +1,13 @@ +import { endpointWithDefaults } from "./endpoint-with-defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; +export 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 + }); +} diff --git a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts new file mode 100644 index 0000000..30fcd20 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -0,0 +1,2 @@ +import { 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 new file mode 100644 index 0000000..ff39e5e --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -0,0 +1,3 @@ +import { 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 new file mode 100644 index 0000000..17be855 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/index.d.ts @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000..b75a15e --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -0,0 +1,2 @@ +import { 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 new file mode 100644 index 0000000..fbe2144 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -0,0 +1,2 @@ +import { 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 new file mode 100644 index 0000000..4b192ac --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..93586d4 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000..1daf307 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..914411c --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000..06927d6 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts @@ -0,0 +1,5 @@ +export declare function omit(object: { + [key: string]: any; +}, keysToOmit: string[]): { + [key: string]: 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 new file mode 100644 index 0000000..5d967ca --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts @@ -0,0 +1,3 @@ +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 new file mode 100644 index 0000000..6c6f30d --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.5.0"; diff --git a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..6f5afd1 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { 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 new file mode 100644 index 0000000..c0cf6e7 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-web/index.js @@ -0,0 +1,379 @@ +import isPlainObject from 'is-plain-object'; +import { getUserAgent } from 'universal-user-agent'; + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +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; +} + +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); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + 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; +} + +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("&")); +} + +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), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object) + .filter(option => !keysToOmit.includes(option)) + .reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// 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. +// 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 COPYRIGHT OWNER 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. +/* istanbul ignore file */ +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 !== undefined && 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 (value) { + result.push(encodeValue(operator, value, 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 (value) { + tmp.push(encodeValue(operator, value)); + }); + } + 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); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + 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" + ]); + // extract variable names from URL to calculate remaining variables later + 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 isBinaryRequset = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequset) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept + .split(/,/) + .map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)) + .join(","); + } + 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(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + 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; + } + else { + headers["content-length"] = 0; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +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 + }); +} + +const VERSION = "5.5.0"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +export { endpoint }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/endpoint/dist-web/index.js.map new file mode 100644 index 0000000..883426f --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.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/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export 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}\n","import isPlainObject from \"is-plain-object\";\nexport function 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 }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nexport function 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 }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter(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 return mergedOptions;\n}\n","export 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 +\n separator +\n names\n .map(name => {\n if (name === \"q\") {\n return (\"q=\" +\n parameters\n .q.split(\"+\")\n .map(encodeURIComponent)\n .join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function 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}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter(option => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part)\n .replace(/%5B/g, \"[\")\n .replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return (\"%\" +\n c\n .charCodeAt(0)\n .toString(16)\n .toUpperCase());\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && 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\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, 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 }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\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 }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, 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 }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\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\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\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 // extract variable names from URL to calculate remaining variables later\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)\n .filter(option => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequset = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequset) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map(preview => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function 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}\n","export const VERSION = \"5.5.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const 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 previews: []\n }\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":[],"mappings":";;;AAAO,SAAS,aAAa,CAAC,MAAM,EAAE;IAClC,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,EAAE,CAAC;KACb;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;QAC/C,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;KACjB,EAAE,EAAE,CAAC,CAAC;CACV;;ACPM,SAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;QAChC,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7B,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;gBAE/C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5D;aACI;YACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAClD;KACJ,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;CACjB;;ACbM,SAAS,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;KAC7E;SACI;QACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KACtC;;IAED,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;;IAEzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;QAChD,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ;aACzD,MAAM,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACtE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KACjD;IACD,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACtH,OAAO,aAAa,CAAC;CACxB;;ACrBM,SAAS,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC;KACd;IACD,QAAQ,GAAG;QACP,SAAS;QACT,KAAK;aACA,GAAG,CAAC,IAAI,IAAI;YACb,IAAI,IAAI,KAAK,GAAG,EAAE;gBACd,QAAQ,IAAI;oBACR,UAAU;yBACL,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;yBACZ,GAAG,CAAC,kBAAkB,CAAC;yBACvB,IAAI,CAAC,GAAG,CAAC,EAAE;aACvB;YACD,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,CAAC;aACG,IAAI,CAAC,GAAG,CAAC,EAAE;CACvB;;ACpBD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,SAAS,cAAc,CAAC,YAAY,EAAE;IAClC,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;CAC5D;AACD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,CAAC;KACb;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACxE;;ACVM,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACrB,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;QACtB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,GAAG,CAAC;KACd,EAAE,EAAE,CAAC,CAAC;CACV;;ACPD;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAAS,cAAc,CAAC,GAAG,EAAE;IACzB,OAAO,GAAG;SACL,KAAK,CAAC,oBAAoB,CAAC;SAC3B,GAAG,CAAC,UAAU,IAAI,EAAE;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;iBACjB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;KACf,CAAC;SACG,IAAI,CAAC,EAAE,CAAC,CAAC;CACjB;AACD,SAAS,gBAAgB,CAAC,GAAG,EAAE;IAC3B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;QAC5D,QAAQ,GAAG;YACP,CAAC;iBACI,UAAU,CAAC,CAAC,CAAC;iBACb,QAAQ,CAAC,EAAE,CAAC;iBACZ,WAAW,EAAE,EAAE;KAC3B,CAAC,CAAC;CACN;AACD,SAAS,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACvC,KAAK;QACD,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;cAC9B,cAAc,CAAC,KAAK,CAAC;cACrB,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,EAAE;QACL,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;KAC9C;SACI;QACD,OAAO,KAAK,CAAC;KAChB;CACJ;AACD,SAAS,SAAS,CAAC,KAAK,EAAE;IACtB,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;CAChD;AACD,SAAS,aAAa,CAAC,QAAQ,EAAE;IAC7B,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;CACnE;AACD,SAAS,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;IACjD,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;IACtC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,SAAS,EAAE;YAC5B,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;gBAC9B,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;aACtD;YACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;SACjF;aACI;YACD,IAAI,QAAQ,KAAK,GAAG,EAAE;gBAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;wBAC7C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;qBACjF,CAAC,CAAC;iBACN;qBACI;oBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBACpC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;4BACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBACnD;qBACJ,CAAC,CAAC;iBACN;aACJ;iBACI;gBACD,MAAM,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;wBAC7C,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;qBAC1C,CAAC,CAAC;iBACN;qBACI;oBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBACpC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;4BACrB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC9B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;yBACxD;qBACJ,CAAC,CAAC;iBACN;gBACD,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;oBACzB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC5D;qBACI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC9B;aACJ;SACJ;KACJ;SACI;QACD,IAAI,QAAQ,KAAK,GAAG,EAAE;YAClB,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;aACtC;SACJ;aACI,IAAI,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;YAC7D,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAC5C;aACI,IAAI,KAAK,KAAK,EAAE,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnB;KACJ;IACD,OAAO,MAAM,CAAC;CACjB;AACD,AAAO,SAAS,QAAQ,CAAC,QAAQ,EAAE;IAC/B,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;KACtC,CAAC;CACL;AACD,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC/B,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;QACpF,IAAI,UAAU,EAAE;YACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,EAAE,CAAC;YAClB,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChD,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;gBAC/C,IAAI,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvE,CAAC,CAAC;YACH,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;gBAC9B,IAAI,SAAS,GAAG,GAAG,CAAC;gBACpB,IAAI,QAAQ,KAAK,GAAG,EAAE;oBAClB,SAAS,GAAG,GAAG,CAAC;iBACnB;qBACI,IAAI,QAAQ,KAAK,GAAG,EAAE;oBACvB,SAAS,GAAG,QAAQ,CAAC;iBACxB;gBACD,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACzE;iBACI;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC3B;SACJ;aACI;YACD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;SAClC;KACJ,CAAC,CAAC;CACN;;ACrKM,SAAS,KAAK,CAAC,OAAO,EAAE;;IAE3B,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;;IAE1C,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC;IACT,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;QAC3B,QAAQ;QACR,SAAS;QACT,KAAK;QACL,SAAS;QACT,SAAS;QACT,WAAW;KACd,CAAC,CAAC;;IAEH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACtD,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACpB,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;KAC/B;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACzC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACnD,MAAM,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,eAAe,EAAE;QAClB,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;;YAE1B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;iBAC1B,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,kDAAkD,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACtI,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;YACnC,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;YACnF,OAAO,CAAC,MAAM,GAAG,wBAAwB;iBACpC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;iBAClC,GAAG,CAAC,OAAO,IAAI;gBAChB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;sBACjC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;sBAC9B,OAAO,CAAC;gBACd,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;aAC/D,CAAC;iBACG,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;KACJ;;;IAGD,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAClC,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;KACtD;SACI;QACD,IAAI,MAAM,IAAI,mBAAmB,EAAE;YAC/B,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;SACnC;aACI;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;gBACzC,IAAI,GAAG,mBAAmB,CAAC;aAC9B;iBACI;gBACD,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACjC;SACJ;KACJ;;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QACzD,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;KAC/D;;;IAGD,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAClE,IAAI,GAAG,EAAE,CAAC;KACb;;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,IAAI,KAAK,WAAW,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;CACxJ;;AC9EM,SAAS,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;CACjD;;ACDM,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC3B,QAAQ;QACR,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC3C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACjC,KAAK;KACR,CAAC,CAAC;CACN;;ACZM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACE3C,MAAM,SAAS,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;;;AAGrE,AAAO,MAAM,QAAQ,GAAG;IACpB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE;QACL,MAAM,EAAE,gCAAgC;QACxC,YAAY,EAAE,SAAS;KAC1B;IACD,SAAS,EAAE;QACP,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACf;CACJ,CAAC;;ACdU,MAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/is-plain-object/LICENSE b/node_modules/@octokit/endpoint/node_modules/is-plain-object/LICENSE new file mode 100644 index 0000000..3f2eca1 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/is-plain-object/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +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/node_modules/is-plain-object/README.md b/node_modules/@octokit/endpoint/node_modules/is-plain-object/README.md new file mode 100644 index 0000000..60b7b59 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/is-plain-object/README.md @@ -0,0 +1,119 @@ +# is-plain-object [![NPM version](https://img.shields.io/npm/v/is-plain-object.svg?style=flat)](https://www.npmjs.com/package/is-plain-object) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![NPM total downloads](https://img.shields.io/npm/dt/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-plain-object.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-plain-object) + +> Returns true if an object was created by the `Object` constructor. + +Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save is-plain-object +``` + +Use [isobject](https://github.com/jonschlinkert/isobject) if you only want to check if the value is an object and not an array or null. + +## Usage + +```js +import isPlainObject from 'is-plain-object'; +``` + +**true** when created by the `Object` constructor. + +```js +isPlainObject(Object.create({})); +//=> true +isPlainObject(Object.create(Object.prototype)); +//=> true +isPlainObject({foo: 'bar'}); +//=> true +isPlainObject({}); +//=> true +``` + +**false** when not created by the `Object` constructor. + +```js +isPlainObject(1); +//=> false +isPlainObject(['foo', 'bar']); +//=> false +isPlainObject([]); +//=> false +isPlainObject(new Foo); +//=> false +isPlainObject(null); +//=> false +isPlainObject(Object.create(null)); +//=> false +``` + +## About + +
+Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +
+ +
+Running Tests + +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: + +```sh +$ npm install && npm test +``` + +
+ +
+Building docs + +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ + +To generate the readme, run the following command: + +```sh +$ npm install -g verbose/verb#dev verb-generate-readme && verb +``` + +
+ +### Related projects + +You might also be interested in these projects: + +* [is-number](https://www.npmjs.com/package/is-number): Returns true if a number or string value is a finite number. Useful for regex… [more](https://github.com/jonschlinkert/is-number) | [homepage](https://github.com/jonschlinkert/is-number "Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc.") +* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") +* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.") + +### Contributors + +| **Commits** | **Contributor** | +| --- | --- | +| 19 | [jonschlinkert](https://github.com/jonschlinkert) | +| 6 | [TrySound](https://github.com/TrySound) | +| 6 | [stevenvachon](https://github.com/stevenvachon) | +| 3 | [onokumus](https://github.com/onokumus) | +| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | + +### Author + +**Jon Schlinkert** + +* [GitHub Profile](https://github.com/jonschlinkert) +* [Twitter Profile](https://twitter.com/jonschlinkert) +* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) + +### License + +Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert). +Released under the [MIT License](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 28, 2019._ \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.cjs.js b/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.cjs.js new file mode 100644 index 0000000..d7dda95 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.cjs.js @@ -0,0 +1,48 @@ +'use strict'; + +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +} + +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObjectObject(o) { + return isObject(o) === true + && Object.prototype.toString.call(o) === '[object Object]'; +} + +function isPlainObject(o) { + var ctor,prot; + + if (isObjectObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (typeof ctor !== 'function') return false; + + // If has modified prototype + prot = ctor.prototype; + if (isObjectObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} + +module.exports = isPlainObject; diff --git a/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.d.ts b/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.d.ts new file mode 100644 index 0000000..fd131f0 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.d.ts @@ -0,0 +1,3 @@ +declare function isPlainObject(o: any): boolean; + +export default isPlainObject; diff --git a/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.js b/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.js new file mode 100644 index 0000000..565ce9e --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/is-plain-object/index.js @@ -0,0 +1,35 @@ +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +import isObject from 'isobject'; + +function isObjectObject(o) { + return isObject(o) === true + && Object.prototype.toString.call(o) === '[object Object]'; +} + +export default function isPlainObject(o) { + var ctor,prot; + + if (isObjectObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (typeof ctor !== 'function') return false; + + // If has modified prototype + prot = ctor.prototype; + if (isObjectObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +}; diff --git a/node_modules/@octokit/endpoint/node_modules/is-plain-object/package.json b/node_modules/@octokit/endpoint/node_modules/is-plain-object/package.json new file mode 100644 index 0000000..300c452 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/is-plain-object/package.json @@ -0,0 +1,86 @@ +{ + "name": "is-plain-object", + "description": "Returns true if an object was created by the `Object` constructor.", + "version": "3.0.0", + "homepage": "https://github.com/jonschlinkert/is-plain-object", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Osman Nuri Okumuş (http://onokumus.com)", + "Steven Vachon (https://svachon.com)", + "(https://github.com/wtgtybhertgeghgtwtg)" + ], + "repository": "jonschlinkert/is-plain-object", + "bugs": { + "url": "https://github.com/jonschlinkert/is-plain-object/issues" + }, + "license": "MIT", + "main": "index.cjs.js", + "module": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js", + "index.cjs.js" + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "rollup -c", + "test_browser": "mocha-headless-chrome --args=disable-web-security -f test/browser.html", + "test_node": "mocha -r esm", + "test": "npm run test_node && npm run build && npm run test_browser", + "prepare": "rollup -c" + }, + "dependencies": { + "isobject": "^4.0.0" + }, + "devDependencies": { + "chai": "^4.2.0", + "esm": "^3.2.22", + "gulp-format-md": "^1.0.0", + "mocha": "^6.1.4", + "mocha-headless-chrome": "^2.0.2", + "rollup": "^1.10.1", + "rollup-plugin-node-resolve": "^4.2.3" + }, + "keywords": [ + "check", + "is", + "is-object", + "isobject", + "javascript", + "kind", + "kind-of", + "object", + "plain", + "type", + "typeof", + "value" + ], + "verb": { + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "related": { + "list": [ + "is-number", + "isobject", + "kind-of" + ] + }, + "lint": { + "reflinks": true + } + } + +,"_resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz" +,"_integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==" +,"_from": "is-plain-object@3.0.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/isobject/LICENSE b/node_modules/@octokit/endpoint/node_modules/isobject/LICENSE new file mode 100644 index 0000000..943e71d --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/isobject/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +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/endpoint/node_modules/isobject/README.md b/node_modules/@octokit/endpoint/node_modules/isobject/README.md new file mode 100644 index 0000000..1c6e21f --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/isobject/README.md @@ -0,0 +1,127 @@ +# isobject [![NPM version](https://img.shields.io/npm/v/isobject.svg?style=flat)](https://www.npmjs.com/package/isobject) [![NPM monthly downloads](https://img.shields.io/npm/dm/isobject.svg?style=flat)](https://npmjs.org/package/isobject) [![NPM total downloads](https://img.shields.io/npm/dt/isobject.svg?style=flat)](https://npmjs.org/package/isobject) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/isobject.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/isobject) + +> Returns true if the value is an object and not an array or null. + +Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save isobject +``` + +Use [is-plain-object](https://github.com/jonschlinkert/is-plain-object) if you want only objects that are created by the `Object` constructor. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install isobject +``` + +## Usage + +```js +import isObject from 'isobject'; +``` + +**True** + +All of the following return `true`: + +```js +isObject({}); +isObject(Object.create({})); +isObject(Object.create(Object.prototype)); +isObject(Object.create(null)); +isObject({}); +isObject(new Foo); +isObject(/foo/); +``` + +**False** + +All of the following return `false`: + +```js +isObject(); +isObject(function () {}); +isObject(1); +isObject([]); +isObject(undefined); +isObject(null); +``` + +## About + +
+Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +
+ +
+Running Tests + +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: + +```sh +$ npm install && npm test +``` + +
+ +
+Building docs + +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ + +To generate the readme, run the following command: + +```sh +$ npm install -g verbose/verb#dev verb-generate-readme && verb +``` + +
+ +### Related projects + +You might also be interested in these projects: + +* [extend-shallow](https://www.npmjs.com/package/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | [homepage](https://github.com/jonschlinkert/extend-shallow "Extend an object with the properties of additional objects. node.js/javascript util.") +* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object "Returns true if an object was created by the `Object` constructor.") +* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.") +* [merge-deep](https://www.npmjs.com/package/merge-deep): Recursively merge values in a javascript object. | [homepage](https://github.com/jonschlinkert/merge-deep "Recursively merge values in a javascript object.") + +### Contributors + +| **Commits** | **Contributor** | +| --- | --- | +| 30 | [jonschlinkert](https://github.com/jonschlinkert) | +| 8 | [doowb](https://github.com/doowb) | +| 7 | [TrySound](https://github.com/TrySound) | +| 3 | [onokumus](https://github.com/onokumus) | +| 1 | [LeSuisse](https://github.com/LeSuisse) | +| 1 | [tmcw](https://github.com/tmcw) | +| 1 | [ZhouHansen](https://github.com/ZhouHansen) | + +### Author + +**Jon Schlinkert** + +* [GitHub Profile](https://github.com/jonschlinkert) +* [Twitter Profile](https://twitter.com/jonschlinkert) +* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) + +### License + +Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert). +Released under the [MIT License](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 28, 2019._ \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/isobject/index.cjs.js b/node_modules/@octokit/endpoint/node_modules/isobject/index.cjs.js new file mode 100644 index 0000000..49debe7 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/isobject/index.cjs.js @@ -0,0 +1,14 @@ +'use strict'; + +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +} + +module.exports = isObject; diff --git a/node_modules/@octokit/endpoint/node_modules/isobject/index.d.ts b/node_modules/@octokit/endpoint/node_modules/isobject/index.d.ts new file mode 100644 index 0000000..c471c71 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/isobject/index.d.ts @@ -0,0 +1,3 @@ +declare function isObject(val: any): boolean; + +export default isObject; diff --git a/node_modules/@octokit/endpoint/node_modules/isobject/index.js b/node_modules/@octokit/endpoint/node_modules/isobject/index.js new file mode 100644 index 0000000..e9f0382 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/isobject/index.js @@ -0,0 +1,10 @@ +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +export default function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +}; diff --git a/node_modules/@octokit/endpoint/node_modules/isobject/package.json b/node_modules/@octokit/endpoint/node_modules/isobject/package.json new file mode 100644 index 0000000..8ddad95 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/isobject/package.json @@ -0,0 +1,84 @@ +{ + "name": "isobject", + "description": "Returns true if the value is an object and not an array or null.", + "version": "4.0.0", + "homepage": "https://github.com/jonschlinkert/isobject", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "(https://github.com/LeSuisse)", + "Brian Woodward (https://twitter.com/doowb)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Magnús Dæhlen (https://github.com/magnudae)", + "Tom MacWright (https://macwright.org)" + ], + "repository": "jonschlinkert/isobject", + "bugs": { + "url": "https://github.com/jonschlinkert/isobject/issues" + }, + "license": "MIT", + "files": [ + "index.d.ts", + "index.cjs.js", + "index.js" + ], + "main": "index.cjs.js", + "module": "index.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "rollup -i index.js -o index.cjs.js -f cjs", + "test": "mocha -r esm", + "prepublish": "npm run build" + }, + "dependencies": {}, + "devDependencies": { + "esm": "^3.2.22", + "gulp-format-md": "^0.1.9", + "mocha": "^2.4.5", + "rollup": "^1.10.1" + }, + "keywords": [ + "check", + "is", + "is-object", + "isobject", + "kind", + "kind-of", + "kindof", + "native", + "object", + "type", + "typeof", + "value" + ], + "types": "index.d.ts", + "verb": { + "related": { + "list": [ + "extend-shallow", + "is-plain-object", + "kind-of", + "merge-deep" + ] + }, + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "lint": { + "reflinks": true + }, + "reflinks": [ + "verb" + ] + } + +,"_resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz" +,"_integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" +,"_from": "isobject@4.0.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/LICENSE.md b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/LICENSE.md new file mode 100644 index 0000000..f105ab0 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/LICENSE.md @@ -0,0 +1,7 @@ +# [ISC License](https://spdx.org/licenses/ISC) + +Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m) + +Permission to use, copy, modify, and/or 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. diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md new file mode 100644 index 0000000..d00d14c --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md @@ -0,0 +1,25 @@ +# universal-user-agent + +> Get a user agent string in both browser and node + +[![@latest](https://img.shields.io/npm/v/universal-user-agent.svg)](https://www.npmjs.com/package/universal-user-agent) +[![Build Status](https://travis-ci.com/gr2m/universal-user-agent.svg?branch=master)](https://travis-ci.com/gr2m/universal-user-agent) +[![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) + +```js +const { getUserAgent } = require("universal-user-agent"); +// or import { getUserAgent } from "universal-user-agent"; + +const userAgent = getUserAgent(); +// userAgent will look like this +// in browser: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0" +// in node: Node.js/v8.9.4 (macOS High Sierra; x64) +``` + +## Credits + +The Node implementation was originally inspired by [default-user-agent](https://www.npmjs.com/package/default-user-agent). + +## License + +[ISC](LICENSE.md) diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js new file mode 100644 index 0000000..80a0710 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js @@ -0,0 +1,22 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var osName = _interopDefault(require('os-name')); + +function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + + throw error; + } +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js.map b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js.map new file mode 100644 index 0000000..aff09ec --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/node.js"],"sourcesContent":["import osName from \"os-name\";\nexport function getUserAgent() {\n try {\n return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;\n }\n catch (error) {\n if (/wmic os get Caption/.test(error.message)) {\n return \"Windows \";\n }\n throw error;\n }\n}\n"],"names":["getUserAgent","process","version","substr","osName","arch","error","test","message"],"mappings":";;;;;;;;AACO,SAASA,YAAT,GAAwB;MACvB;WACQ,WAAUC,OAAO,CAACC,OAAR,CAAgBC,MAAhB,CAAuB,CAAvB,CAA0B,KAAIC,MAAM,EAAG,KAAIH,OAAO,CAACI,IAAK,GAA1E;GADJ,CAGA,OAAOC,KAAP,EAAc;QACN,sBAAsBC,IAAtB,CAA2BD,KAAK,CAACE,OAAjC,CAAJ,EAA+C;aACpC,gCAAP;;;UAEEF,KAAN;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/browser.js b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/browser.js new file mode 100644 index 0000000..6f52232 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/browser.js @@ -0,0 +1,3 @@ +export function getUserAgent() { + return navigator.userAgent; +} diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/index.js b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/index.js new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/index.js @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/node.js b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/node.js new file mode 100644 index 0000000..8b70a03 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/node.js @@ -0,0 +1,12 @@ +import osName from "os-name"; +export function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } + catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + throw error; + } +} diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/browser.d.ts b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/browser.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/browser.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/index.d.ts b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/index.d.ts new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/index.d.ts @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/node.d.ts b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/node.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/node.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-web/index.js b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-web/index.js new file mode 100644 index 0000000..11ec79b --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-web/index.js @@ -0,0 +1,6 @@ +function getUserAgent() { + return navigator.userAgent; +} + +export { getUserAgent }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-web/index.js.map b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-web/index.js.map new file mode 100644 index 0000000..549407e --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/browser.js"],"sourcesContent":["export function getUserAgent() {\n return navigator.userAgent;\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;IAC3B,OAAO,SAAS,CAAC,SAAS,CAAC;CAC9B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json new file mode 100644 index 0000000..4a43790 --- /dev/null +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json @@ -0,0 +1,37 @@ +{ + "name": "universal-user-agent", + "description": "Get a user agent string in both browser and node", + "version": "4.0.0", + "license": "ISC", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [], + "repository": "https://github.com/gr2m/universal-user-agent.git", + "dependencies": { + "os-name": "^3.1.0" + }, + "devDependencies": { + "@gr2m/pika-plugin-build-web": "^0.6.0-issue-84.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.6.0", + "@pika/plugin-ts-standard-pkg": "^0.6.0", + "@types/jest": "^24.0.18", + "jest": "^24.9.0", + "prettier": "^1.18.2", + "semantic-release": "^15.9.15", + "ts-jest": "^24.0.2", + "typescript": "^3.6.2" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" + +,"_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz" +,"_integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==" +,"_from": "universal-user-agent@4.0.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json new file mode 100644 index 0000000..419f0e2 --- /dev/null +++ b/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,55 @@ +{ + "name": "@octokit/endpoint", + "description": "Turns REST API endpoints into generic request options", + "version": "5.5.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "homepage": "https://github.com/octokit/endpoint.js#readme", + "bugs": { + "url": "https://github.com/octokit/endpoint.js/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/octokit/endpoint.js.git" + }, + "dependencies": { + "@octokit/types": "^1.0.0", + "is-plain-object": "^3.0.0", + "universal-user-agent": "^4.0.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.7.0", + "@pika/plugin-build-web": "^0.7.0", + "@pika/plugin-ts-standard-pkg": "^0.7.0", + "@types/jest": "^24.0.11", + "jest": "^24.7.1", + "prettier": "1.18.2", + "semantic-release": "^15.13.8", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^24.0.2", + "typescript": "^3.4.5" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "deno": "dist-web/index.js" + +,"_resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.0.tgz" +,"_integrity": "sha512-TXYS6zXeBImNB9BVj+LneMDqXX+H0exkOpyXobvp92O3B1348QsKnNioISFKgOMsb3ibZvQGwCdpiwQd3KAjIA==" +,"_from": "@octokit/endpoint@5.5.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/graphql/LICENSE b/node_modules/@octokit/graphql/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/graphql/LICENSE @@ -0,0 +1,21 @@ +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 new file mode 100644 index 0000000..4e44592 --- /dev/null +++ b/node_modules/@octokit/graphql/README.md @@ -0,0 +1,292 @@ +# 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://travis-ci.com/octokit/graphql.js.svg?branch=master)](https://travis-ci.com/octokit/graphql.js) +[![Coverage Status](https://coveralls.io/repos/github/octokit/graphql.js/badge.svg)](https://coveralls.io/github/octokit/graphql.js) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/graphql.js.svg)](https://greenkeeper.io/) + + + +- [Usage](#usage) +- [Errors](#errors) +- [Writing tests](#writing-tests) +- [License](#license) + + + +## Usage + +Send a simple query + +```js +const graphql = require('@octokit/graphql') +const { repository } = await graphql(`{ + repository(owner:"octokit", name:"graphql.js") { + issues(last:3) { + edges { + node { + title + } + } + } + } +}`, { + headers: { + authorization: `token secret123` + } +}) +``` + +⚠️ 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 graphql = require('@octokit/graphql') +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` + } + } +}) +``` + +Create two new clients and set separate default configs for them. + +```js +const graphql1 = require('@octokit/graphql').defaults({ + headers: { + authorization: `token secret123` + } +}) + +const graphql2 = require('@octokit/graphql').defaults({ + headers: { + authorization: `token foobar` + } +}) +``` + +Create two clients, the second inherits config from the first. + +```js +const graphql1 = require('@octokit/graphql').defaults({ + headers: { + authorization: `token secret123` + } +}) + +const graphql2 = graphql1.defaults({ + headers: { + 'user-agent': 'my-user-agent/v1.2.3' + } +}) +``` + +Create a new client with default options and run query + +```js +const graphql = require('@octokit/graphql').defaults({ + headers: { + authorization: `token secret123` + } +}) +const { repository } = await graphql(`{ + repository(owner:"octokit", name:"graphql.js") { + issues(last:3) { + edges { + node { + title + } + } + } + } +}`) +``` + +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 +const graphql = require('@octokit/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 + } + } + } + } +}`) +``` + +## Errors + +In case of a GraphQL error, `error.message` is set to the first error from the response’s `errors` array. 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 +const graphql = require('@octokit/graphql').defaults({ + headers: { + authorization: `token secret123` + } +}) +const query = `{ + viewer { + bioHtml + } +}` + +try { + const result = await graphql(query) +} catch (error) { + // server responds with + // { + // "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' +} +``` + +## 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 +const graphql = require('@octokit/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/index.js b/node_modules/@octokit/graphql/index.js new file mode 100644 index 0000000..7f8278c --- /dev/null +++ b/node_modules/@octokit/graphql/index.js @@ -0,0 +1,15 @@ +const { request } = require('@octokit/request') +const getUserAgent = require('universal-user-agent') + +const version = require('./package.json').version +const userAgent = `octokit-graphql.js/${version} ${getUserAgent()}` + +const withDefaults = require('./lib/with-defaults') + +module.exports = withDefaults(request, { + method: 'POST', + url: '/graphql', + headers: { + 'user-agent': userAgent + } +}) diff --git a/node_modules/@octokit/graphql/lib/error.js b/node_modules/@octokit/graphql/lib/error.js new file mode 100644 index 0000000..4478abd --- /dev/null +++ b/node_modules/@octokit/graphql/lib/error.js @@ -0,0 +1,16 @@ +module.exports = class GraphqlError extends Error { + constructor (request, response) { + const message = response.data.errors[0].message + super(message) + + Object.assign(this, response.data) + this.name = 'GraphqlError' + this.request = request + + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor) + } + } +} diff --git a/node_modules/@octokit/graphql/lib/graphql.js b/node_modules/@octokit/graphql/lib/graphql.js new file mode 100644 index 0000000..4a5b211 --- /dev/null +++ b/node_modules/@octokit/graphql/lib/graphql.js @@ -0,0 +1,36 @@ +module.exports = graphql + +const GraphqlError = require('./error') + +const NON_VARIABLE_OPTIONS = ['method', 'baseUrl', 'url', 'headers', 'request', 'query'] + +function graphql (request, query, options) { + if (typeof query === 'string') { + options = Object.assign({ query }, options) + } else { + options = query + } + + const requestOptions = Object.keys(options).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = options[key] + return result + } + + if (!result.variables) { + result.variables = {} + } + + result.variables[key] = options[key] + return result + }, {}) + + return request(requestOptions) + .then(response => { + if (response.data.errors) { + throw new GraphqlError(requestOptions, response) + } + + return response.data.data + }) +} diff --git a/node_modules/@octokit/graphql/lib/with-defaults.js b/node_modules/@octokit/graphql/lib/with-defaults.js new file mode 100644 index 0000000..a5b1493 --- /dev/null +++ b/node_modules/@octokit/graphql/lib/with-defaults.js @@ -0,0 +1,13 @@ +module.exports = withDefaults + +const graphql = require('./graphql') + +function withDefaults (request, newDefaults) { + const newRequest = request.defaults(newDefaults) + const newApi = function (query, options) { + return graphql(newRequest, query, options) + } + + newApi.defaults = withDefaults.bind(null, newRequest) + return newApi +} diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json new file mode 100644 index 0000000..83cbd52 --- /dev/null +++ b/node_modules/@octokit/graphql/package.json @@ -0,0 +1,94 @@ +{ + "name": "@octokit/graphql", + "version": "2.1.3", + "publishConfig": { + "access": "public" + }, + "description": "GitHub GraphQL API client for browsers and Node", + "main": "index.js", + "scripts": { + "prebuild": "mkdirp dist/", + "build": "npm-run-all build:*", + "build:development": "webpack --mode development --entry . --output-library=octokitGraphql --output=./dist/octokit-graphql.js --profile --json > dist/bundle-stats.json", + "build:production": "webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=octokitGraphql --output-path=./dist --output-filename=octokit-graphql.min.js --devtool source-map", + "bundle-report": "webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html", + "coverage": "nyc report --reporter=html && open coverage/index.html", + "coverage:upload": "nyc report --reporter=text-lcov | coveralls", + "pretest": "standard", + "test": "nyc mocha test/*-test.js", + "test:browser": "cypress run --browser chrome" + }, + "repository": { + "type": "git", + "url": "https://github.com/octokit/graphql.js.git" + }, + "keywords": [ + "octokit", + "github", + "api", + "graphql" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "bugs": { + "url": "https://github.com/octokit/graphql.js/issues" + }, + "homepage": "https://github.com/octokit/graphql.js#readme", + "dependencies": { + "@octokit/request": "^5.0.0", + "universal-user-agent": "^2.0.3" + }, + "devDependencies": { + "chai": "^4.2.0", + "compression-webpack-plugin": "^2.0.0", + "coveralls": "^3.0.3", + "cypress": "^3.1.5", + "fetch-mock": "^7.3.1", + "mkdirp": "^0.5.1", + "mocha": "^6.0.0", + "npm-run-all": "^4.1.3", + "nyc": "^14.0.0", + "semantic-release": "^15.13.3", + "simple-mock": "^0.8.0", + "standard": "^12.0.1", + "webpack": "^4.29.6", + "webpack-bundle-analyzer": "^3.1.0", + "webpack-cli": "^3.2.3" + }, + "bundlesize": [ + { + "path": "./dist/octokit-graphql.min.js.gz", + "maxSize": "5KB" + } + ], + "release": { + "publish": [ + "@semantic-release/npm", + { + "path": "@semantic-release/github", + "assets": [ + "dist/*", + "!dist/*.map.gz" + ] + } + ] + }, + "standard": { + "globals": [ + "describe", + "before", + "beforeEach", + "afterEach", + "after", + "it", + "expect" + ] + }, + "files": [ + "lib" + ] + +,"_resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz" +,"_integrity": "sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==" +,"_from": "@octokit/graphql@2.1.3" +} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/request-error/LICENSE @@ -0,0 +1,21 @@ +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 new file mode 100644 index 0000000..bcb711d --- /dev/null +++ b/node_modules/@octokit/request-error/README.md @@ -0,0 +1,68 @@ +# 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://travis-ci.com/octokit/request-error.js.svg?branch=master)](https://travis-ci.com/octokit/request-error.js) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/request-error.js.svg)](https://greenkeeper.io/) + +## Usage + + + + + + +
+Browsers + +Load @octokit/request-error directly from cdn.pika.dev + +```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, { + headers: { + "x-github-request-id": "1:2:3:4" + }, // response headers + request: { + method: "POST", + url: "https://api.github.com/foo", + body: { + bar: "baz" + }, + headers: { + authorization: "token secret123" + } + } +}); + +error.message; // Oops +error.status; // 500 +error.headers; // { 'x-github-request-id': '1:2:3:4' } +error.request.method; // POST +error.request.url; // https://api.github.com/foo +error.request.body; // { bar: 'baz' } +error.request.headers; // { authorization: 'token [REDACTED]' } +``` + +## 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 new file mode 100644 index 0000000..aa89664 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,54 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = require('deprecation'); +var once = _interopDefault(require('once')); + +const logOnce = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = "HttpError"; + this.status = statusCode; + Object.defineProperty(this, "code", { + get() { + logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + this.headers = options.headers; // redact request credentials without mutating original request options + + 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 // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + } + +} + +exports.RequestError = RequestError; diff --git a/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000..10eb5c7 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-src/index.js @@ -0,0 +1,40 @@ +import { Deprecation } from "deprecation"; +import once from "once"; +const logOnce = once((deprecation) => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ +export class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + Object.defineProperty(this, "code", { + get() { + logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + }); + this.headers = options.headers; + // redact request credentials without mutating original request options + 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 + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + } +} diff --git a/node_modules/@octokit/request-error/dist-src/types.js b/node_modules/@octokit/request-error/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 0000000..b12f21d --- /dev/null +++ b/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -0,0 +1,26 @@ +import { RequestOptions, ResponseHeaders, 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; + /** + * error response headers + */ + headers: ResponseHeaders; + /** + * Request options that lead to the error. + */ + request: RequestOptions; + 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 new file mode 100644 index 0000000..444254e --- /dev/null +++ b/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,37 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export declare type Url = string; +/** + * Request method + */ +export declare type Method = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; +export declare type RequestHeaders = { + /** + * Used for API previews and custom formats + */ + accept?: string; + /** + * Redacted authorization header + */ + authorization?: string; + "user-agent"?: string; + [header: string]: string | number | undefined; +}; +export declare type ResponseHeaders = { + [header: string]: string; +}; +export declare type EndpointRequestOptions = { + [option: string]: any; +}; +export declare type RequestOptions = { + method: Method; + url: Url; + headers: RequestHeaders; + body?: any; + request?: EndpointRequestOptions; +}; +export declare type RequestErrorOptions = { + headers: ResponseHeaders; + request: RequestOptions; +}; diff --git a/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000..52ff28a --- /dev/null +++ b/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,48 @@ +import { Deprecation } from 'deprecation'; +import once from 'once'; + +const logOnce = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = "HttpError"; + this.status = statusCode; + Object.defineProperty(this, "code", { + get() { + logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + this.headers = options.headers; // redact request credentials without mutating original request options + + 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 // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + } + +} + +export { RequestError }; diff --git a/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000..1f14670 --- /dev/null +++ b/node_modules/@octokit/request-error/package.json @@ -0,0 +1,58 @@ +{ + "name": "@octokit/request-error", + "description": "Error class for Octokit request errors", + "version": "1.0.4", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "error" + ], + "homepage": "https://github.com/octokit/request-error.js#readme", + "bugs": { + "url": "https://github.com/octokit/request-error.js/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/octokit/request-error.js.git" + }, + "dependencies": { + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "devDependencies": { + "@pika/pack": "^0.3.7", + "@pika/plugin-build-node": "^0.4.0", + "@pika/plugin-build-web": "^0.4.0", + "@pika/plugin-bundle-web": "^0.4.0", + "@pika/plugin-ts-standard-pkg": "^0.4.0", + "@semantic-release/git": "^7.0.12", + "@types/jest": "^24.0.12", + "@types/node": "^12.0.2", + "@types/once": "^1.4.0", + "jest": "^24.7.1", + "pika-plugin-unpkg-field": "^1.1.0", + "prettier": "^1.17.0", + "semantic-release": "^15.10.5", + "ts-jest": "^24.0.2", + "typescript": "^3.4.5" + }, + "publishConfig": { + "access": "public" + } + +,"_resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz" +,"_integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==" +,"_from": "@octokit/request-error@1.0.4" +} \ No newline at end of file diff --git a/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/request/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/request/LICENSE @@ -0,0 +1,21 @@ +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 new file mode 100644 index 0000000..db35e62 --- /dev/null +++ b/node_modules/@octokit/request/README.md @@ -0,0 +1,539 @@ +# 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://travis-ci.org/octokit/request.js.svg?branch=master)](https://travis-ci.org/octokit/request.js) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/request.js.svg)](https://greenkeeper.io/) + +`@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) +([node-fetch](https://github.com/bitinn/node-fetch) in Node). + + + + + +- [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-%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) + + + +## 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.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 cdn.pika.dev + +```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 request("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({ + id: 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 + + 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 + + Required. Any supported http verb, case insensitive. 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.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 API Previews. +
+ options.method + + String + + Required. Any supported http verb, case insensitive. Defaults to Get. +
+ 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.agent + + http(s).Agent instance + + Node only. Useful for custom proxy, certificate, or dns lookup. +
+ options.request.fetch + + Function + + Custom replacement for built-in fetch method. 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.timeout + + Number + + Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). options.request.signal is recommended instead. +
+ +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 and resolves with 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 `error` instance has additional properties to help with debugging + +- `error.status` The http response status code +- `error.headers` The http response headers as an object +- `error.request` The request options such as `method`, `url` and `data` + +## `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!" + } +); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/request/dist-node/index.js new file mode 100644 index 0000000..63a7ce8 --- /dev/null +++ b/node_modules/@octokit/request/dist-node/index.js @@ -0,0 +1,148 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = require('@octokit/endpoint'); +var universalUserAgent = require('universal-user-agent'); +var isPlainObject = _interopDefault(require('is-plain-object')); +var nodeFetch = _interopDefault(require('node-fetch')); +var requestError = require('@octokit/request-error'); + +const VERSION = "5.3.0"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, requestOptions.request)).then(response => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + + if (status === 204 || status === 205) { + return; + } // GitHub API returns 200 for HEAD requsets + + + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + + throw new requestError.RequestError(response.statusText, status, { + headers, + request: requestOptions + }); + } + + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + headers, + request: requestOptions + }); + } + + if (status >= 400) { + return response.text().then(message => { + const error = new requestError.RequestError(message, status, { + headers, + request: requestOptions + }); + + try { + let responseBody = JSON.parse(error.message); + Object.assign(error, responseBody); + let errors = responseBody.errors; // Assumption `errors` would always be in Array Fotmat + + error.message = error.message + ": " + errors.map(JSON.stringify).join(", "); + } catch (e) {// ignore, see octokit/rest.js#684 + } + + throw error; + }); + } + + 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); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) { + throw error; + } + + throw new requestError.RequestError(error.message, 500, { + headers, + request: requestOptions + }); + }); +} + +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 = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + + 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) + }); +} + +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/request/dist-node/index.js.map new file mode 100644 index 0000000..482af9e --- /dev/null +++ b/node_modules/@octokit/request/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.3.0\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import isPlainObject from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, requestOptions.request))\n .then(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 (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requsets\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n headers,\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions\n });\n }\n if (status >= 400) {\n return response\n .text()\n .then(message => {\n const error = new RequestError(message, status, {\n headers,\n request: requestOptions\n });\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors;\n // Assumption `errors` would always be in Array Fotmat\n error.message =\n error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n }\n catch (e) {\n // ignore, see octokit/rest.js#684\n }\n throw error;\n });\n }\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 })\n .then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n })\n .catch(error => {\n if (error instanceof RequestError) {\n throw error;\n }\n throw new RequestError(error.message, 500, {\n headers,\n request: requestOptions\n });\n });\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function 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 = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\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}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\n"],"names":["VERSION","getBufferResponse","response","arrayBuffer","fetchWrapper","requestOptions","isPlainObject","body","Array","isArray","JSON","stringify","headers","status","url","fetch","request","nodeFetch","Object","assign","method","redirect","then","keyAndValue","RequestError","statusText","text","message","error","responseBody","parse","errors","map","join","e","contentType","get","test","json","getBuffer","data","catch","withDefaults","oldEndpoint","newDefaults","endpoint","defaults","newApi","route","parameters","endpointOptions","merge","hook","bind","getUserAgent"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAQ,SAASC,iBAAT,CAA2BC,QAA3B,EAAqC;SACzCA,QAAQ,CAACC,WAAT,EAAP;;;ACGW,SAASC,YAAT,CAAsBC,cAAtB,EAAsC;MAC7CC,aAAa,CAACD,cAAc,CAACE,IAAhB,CAAb,IACAC,KAAK,CAACC,OAAN,CAAcJ,cAAc,CAACE,IAA7B,CADJ,EACwC;IACpCF,cAAc,CAACE,IAAf,GAAsBG,IAAI,CAACC,SAAL,CAAeN,cAAc,CAACE,IAA9B,CAAtB;;;MAEAK,OAAO,GAAG,EAAd;MACIC,MAAJ;MACIC,GAAJ;QACMC,KAAK,GAAIV,cAAc,CAACW,OAAf,IAA0BX,cAAc,CAACW,OAAf,CAAuBD,KAAlD,IAA4DE,SAA1E;SACOF,KAAK,CAACV,cAAc,CAACS,GAAhB,EAAqBI,MAAM,CAACC,MAAP,CAAc;IAC3CC,MAAM,EAAEf,cAAc,CAACe,MADoB;IAE3Cb,IAAI,EAAEF,cAAc,CAACE,IAFsB;IAG3CK,OAAO,EAAEP,cAAc,CAACO,OAHmB;IAI3CS,QAAQ,EAAEhB,cAAc,CAACgB;GAJI,EAK9BhB,cAAc,CAACW,OALe,CAArB,CAAL,CAMFM,IANE,CAMGpB,QAAQ,IAAI;IAClBY,GAAG,GAAGZ,QAAQ,CAACY,GAAf;IACAD,MAAM,GAAGX,QAAQ,CAACW,MAAlB;;SACK,MAAMU,WAAX,IAA0BrB,QAAQ,CAACU,OAAnC,EAA4C;MACxCA,OAAO,CAACW,WAAW,CAAC,CAAD,CAAZ,CAAP,GAA0BA,WAAW,CAAC,CAAD,CAArC;;;QAEAV,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAAjC,EAAsC;;KANpB;;;QAUdR,cAAc,CAACe,MAAf,KAA0B,MAA9B,EAAsC;UAC9BP,MAAM,GAAG,GAAb,EAAkB;;;;YAGZ,IAAIW,yBAAJ,CAAiBtB,QAAQ,CAACuB,UAA1B,EAAsCZ,MAAtC,EAA8C;QAChDD,OADgD;QAEhDI,OAAO,EAAEX;OAFP,CAAN;;;QAKAQ,MAAM,KAAK,GAAf,EAAoB;YACV,IAAIW,yBAAJ,CAAiB,cAAjB,EAAiCX,MAAjC,EAAyC;QAC3CD,OAD2C;QAE3CI,OAAO,EAAEX;OAFP,CAAN;;;QAKAQ,MAAM,IAAI,GAAd,EAAmB;aACRX,QAAQ,CACVwB,IADE,GAEFJ,IAFE,CAEGK,OAAO,IAAI;cACXC,KAAK,GAAG,IAAIJ,yBAAJ,CAAiBG,OAAjB,EAA0Bd,MAA1B,EAAkC;UAC5CD,OAD4C;UAE5CI,OAAO,EAAEX;SAFC,CAAd;;YAII;cACIwB,YAAY,GAAGnB,IAAI,CAACoB,KAAL,CAAWF,KAAK,CAACD,OAAjB,CAAnB;UACAT,MAAM,CAACC,MAAP,CAAcS,KAAd,EAAqBC,YAArB;cACIE,MAAM,GAAGF,YAAY,CAACE,MAA1B,CAHA;;UAKAH,KAAK,CAACD,OAAN,GACIC,KAAK,CAACD,OAAN,GAAgB,IAAhB,GAAuBI,MAAM,CAACC,GAAP,CAAWtB,IAAI,CAACC,SAAhB,EAA2BsB,IAA3B,CAAgC,IAAhC,CAD3B;SALJ,CAQA,OAAOC,CAAP,EAAU;;;cAGJN,KAAN;OAlBG,CAAP;;;UAqBEO,WAAW,GAAGjC,QAAQ,CAACU,OAAT,CAAiBwB,GAAjB,CAAqB,cAArB,CAApB;;QACI,oBAAoBC,IAApB,CAAyBF,WAAzB,CAAJ,EAA2C;aAChCjC,QAAQ,CAACoC,IAAT,EAAP;;;QAEA,CAACH,WAAD,IAAgB,yBAAyBE,IAAzB,CAA8BF,WAA9B,CAApB,EAAgE;aACrDjC,QAAQ,CAACwB,IAAT,EAAP;;;WAEGa,iBAAS,CAACrC,QAAD,CAAhB;GA5DG,EA8DFoB,IA9DE,CA8DGkB,IAAI,IAAI;WACP;MACH3B,MADG;MAEHC,GAFG;MAGHF,OAHG;MAIH4B;KAJJ;GA/DG,EAsEFC,KAtEE,CAsEIb,KAAK,IAAI;QACZA,KAAK,YAAYJ,yBAArB,EAAmC;YACzBI,KAAN;;;UAEE,IAAIJ,yBAAJ,CAAiBI,KAAK,CAACD,OAAvB,EAAgC,GAAhC,EAAqC;MACvCf,OADuC;MAEvCI,OAAO,EAAEX;KAFP,CAAN;GA1EG,CAAP;;;ACZW,SAASqC,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;QACrDC,QAAQ,GAAGF,WAAW,CAACG,QAAZ,CAAqBF,WAArB,CAAjB;;QACMG,MAAM,GAAG,UAAUC,KAAV,EAAiBC,UAAjB,EAA6B;UAClCC,eAAe,GAAGL,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAxB;;QACI,CAACC,eAAe,CAAClC,OAAjB,IAA4B,CAACkC,eAAe,CAAClC,OAAhB,CAAwBoC,IAAzD,EAA+D;aACpDhD,YAAY,CAACyC,QAAQ,CAACf,KAAT,CAAeoB,eAAf,CAAD,CAAnB;;;UAEElC,OAAO,GAAG,CAACgC,KAAD,EAAQC,UAAR,KAAuB;aAC5B7C,YAAY,CAACyC,QAAQ,CAACf,KAAT,CAAee,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAf,CAAD,CAAnB;KADJ;;IAGA/B,MAAM,CAACC,MAAP,CAAcH,OAAd,EAAuB;MACnB6B,QADmB;MAEnBC,QAAQ,EAAEJ,YAAY,CAACW,IAAb,CAAkB,IAAlB,EAAwBR,QAAxB;KAFd;WAIOK,eAAe,CAAClC,OAAhB,CAAwBoC,IAAxB,CAA6BpC,OAA7B,EAAsCkC,eAAtC,CAAP;GAZJ;;SAcOhC,MAAM,CAACC,MAAP,CAAc4B,MAAd,EAAsB;IACzBF,QADyB;IAEzBC,QAAQ,EAAEJ,YAAY,CAACW,IAAb,CAAkB,IAAlB,EAAwBR,QAAxB;GAFP,CAAP;;;MCbS7B,OAAO,GAAG0B,YAAY,CAACG,iBAAD,EAAW;EAC1CjC,OAAO,EAAE;kBACU,sBAAqBZ,OAAQ,IAAGsD,+BAAY,EAAG;;CAFnC,CAA5B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 0000000..f2b80d7 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,93 @@ +import isPlainObject from "is-plain-object"; +import nodeFetch from "node-fetch"; +import { RequestError } from "@octokit/request-error"; +import getBuffer from "./get-buffer-response"; +export default function fetchWrapper(requestOptions) { + if (isPlainObject(requestOptions.body) || + Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, requestOptions.request)) + .then(response => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requsets + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + headers, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + headers, + request: requestOptions + }); + } + if (status >= 400) { + return response + .text() + .then(message => { + const error = new RequestError(message, status, { + headers, + request: requestOptions + }); + try { + let responseBody = JSON.parse(error.message); + Object.assign(error, responseBody); + let errors = responseBody.errors; + // Assumption `errors` would always be in Array Fotmat + error.message = + error.message + ": " + errors.map(JSON.stringify).join(", "); + } + catch (e) { + // ignore, see octokit/rest.js#684 + } + throw error; + }); + } + 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); + }) + .then(data => { + return { + status, + url, + headers, + data + }; + }) + .catch(error => { + if (error instanceof RequestError) { + throw error; + } + throw new RequestError(error.message, 500, { + headers, + request: requestOptions + }); + }); +} diff --git a/node_modules/@octokit/request/dist-src/get-buffer-response.js b/node_modules/@octokit/request/dist-src/get-buffer-response.js new file mode 100644 index 0000000..845a394 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/get-buffer-response.js @@ -0,0 +1,3 @@ +export default function getBufferResponse(response) { + return response.arrayBuffer(); +} diff --git a/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/request/dist-src/index.js new file mode 100644 index 0000000..6a36142 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/index.js @@ -0,0 +1,9 @@ +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import withDefaults from "./with-defaults"; +export const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}); diff --git a/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 0000000..8b3296b --- /dev/null +++ b/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "5.3.0"; diff --git a/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/request/dist-src/with-defaults.js new file mode 100644 index 0000000..8e44f46 --- /dev/null +++ b/node_modules/@octokit/request/dist-src/with-defaults.js @@ -0,0 +1,22 @@ +import fetchWrapper from "./fetch-wrapper"; +export default 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 = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + 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) + }); +} diff --git a/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 0000000..594bce6 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,11 @@ +import { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType & { + redirect?: string; +}): 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 new file mode 100644 index 0000000..915b705 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts @@ -0,0 +1,2 @@ +import { Response } from "node-fetch"; +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 new file mode 100644 index 0000000..cb9c9ba --- /dev/null +++ b/node_modules/@octokit/request/dist-types/index.d.ts @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000..4ebc653 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.3.0"; diff --git a/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/request/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..0080469 --- /dev/null +++ b/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import { 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 new file mode 100644 index 0000000..dc00f6d --- /dev/null +++ b/node_modules/@octokit/request/dist-web/index.js @@ -0,0 +1,132 @@ +import { endpoint } from '@octokit/endpoint'; +import { getUserAgent } from 'universal-user-agent'; +import isPlainObject from 'is-plain-object'; +import nodeFetch from 'node-fetch'; +import { RequestError } from '@octokit/request-error'; + +const VERSION = "5.3.0"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + if (isPlainObject(requestOptions.body) || + Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, requestOptions.request)) + .then(response => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requsets + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + headers, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + headers, + request: requestOptions + }); + } + if (status >= 400) { + return response + .text() + .then(message => { + const error = new RequestError(message, status, { + headers, + request: requestOptions + }); + try { + let responseBody = JSON.parse(error.message); + Object.assign(error, responseBody); + let errors = responseBody.errors; + // Assumption `errors` would always be in Array Fotmat + error.message = + error.message + ": " + errors.map(JSON.stringify).join(", "); + } + catch (e) { + // ignore, see octokit/rest.js#684 + } + throw error; + }); + } + 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); + }) + .then(data => { + return { + status, + url, + headers, + data + }; + }) + .catch(error => { + if (error instanceof RequestError) { + throw error; + } + throw new RequestError(error.message, 500, { + headers, + request: requestOptions + }); + }); +} + +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 = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + 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) + }); +} + +const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}); + +export { request }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/request/dist-web/index.js.map new file mode 100644 index 0000000..c41478b --- /dev/null +++ b/node_modules/@octokit/request/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/get-buffer-response.js","../dist-src/fetch-wrapper.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"5.3.0\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import isPlainObject from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, requestOptions.request))\n .then(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 (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requsets\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n headers,\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n headers,\n request: requestOptions\n });\n }\n if (status >= 400) {\n return response\n .text()\n .then(message => {\n const error = new RequestError(message, status, {\n headers,\n request: requestOptions\n });\n try {\n let responseBody = JSON.parse(error.message);\n Object.assign(error, responseBody);\n let errors = responseBody.errors;\n // Assumption `errors` would always be in Array Fotmat\n error.message =\n error.message + \": \" + errors.map(JSON.stringify).join(\", \");\n }\n catch (e) {\n // ignore, see octokit/rest.js#684\n }\n throw error;\n });\n }\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 })\n .then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n })\n .catch(error => {\n if (error instanceof RequestError) {\n throw error;\n }\n throw new RequestError(error.message, 500, {\n headers,\n request: requestOptions\n });\n });\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function 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 = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\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}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\n"],"names":["getBuffer"],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACA5B,SAAS,iBAAiB,CAAC,QAAQ,EAAE;IAChD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;CACjC;;ACEc,SAAS,YAAY,CAAC,cAAc,EAAE;IACjD,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QACpC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KAC7D;IACD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,CAAC;IACX,IAAI,GAAG,CAAC;IACR,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;IACpF,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QAC3C,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;KACpC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;SACtB,IAAI,CAAC,QAAQ,IAAI;QAClB,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACnB,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzB,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE;YACxC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAClC,OAAO;SACV;;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE;YAClC,IAAI,MAAM,GAAG,GAAG,EAAE;gBACd,OAAO;aACV;YACD,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;gBAChD,OAAO;gBACP,OAAO,EAAE,cAAc;aAC1B,CAAC,CAAC;SACN;QACD,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE;gBAC3C,OAAO;gBACP,OAAO,EAAE,cAAc;aAC1B,CAAC,CAAC;SACN;QACD,IAAI,MAAM,IAAI,GAAG,EAAE;YACf,OAAO,QAAQ;iBACV,IAAI,EAAE;iBACN,IAAI,CAAC,OAAO,IAAI;gBACjB,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;oBAC5C,OAAO;oBACP,OAAO,EAAE,cAAc;iBAC1B,CAAC,CAAC;gBACH,IAAI;oBACA,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBACnC,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;;oBAEjC,KAAK,CAAC,OAAO;wBACT,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpE;gBACD,OAAO,CAAC,EAAE;;iBAET;gBACD,MAAM,KAAK,CAAC;aACf,CAAC,CAAC;SACN;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACvC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC5D,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC1B;QACD,OAAOA,iBAAS,CAAC,QAAQ,CAAC,CAAC;KAC9B,CAAC;SACG,IAAI,CAAC,IAAI,IAAI;QACd,OAAO;YACH,MAAM;YACN,GAAG;YACH,OAAO;YACP,IAAI;SACP,CAAC;KACL,CAAC;SACG,KAAK,CAAC,KAAK,IAAI;QAChB,IAAI,KAAK,YAAY,YAAY,EAAE;YAC/B,MAAM,KAAK,CAAC;SACf;QACD,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE;YACvC,OAAO;YACP,OAAO,EAAE,cAAc;SAC1B,CAAC,CAAC;KACN,CAAC,CAAC;CACN;;AC3Fc,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE;QACxC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE;YAC3D,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;SACxD;QACD,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK;YACnC,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;SAC1E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,QAAQ;YACR,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;SAC9C,CAAC,CAAC;QACH,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;KACjE,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACzB,QAAQ;QACR,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC9C,CAAC,CAAC;CACN;;ACjBW,MAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE;IAC1C,OAAO,EAAE;QACL,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;KAClE;CACJ,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/is-plain-object/LICENSE b/node_modules/@octokit/request/node_modules/is-plain-object/LICENSE new file mode 100644 index 0000000..3f2eca1 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/is-plain-object/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +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/node_modules/is-plain-object/README.md b/node_modules/@octokit/request/node_modules/is-plain-object/README.md new file mode 100644 index 0000000..60b7b59 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/is-plain-object/README.md @@ -0,0 +1,119 @@ +# is-plain-object [![NPM version](https://img.shields.io/npm/v/is-plain-object.svg?style=flat)](https://www.npmjs.com/package/is-plain-object) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![NPM total downloads](https://img.shields.io/npm/dt/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-plain-object.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-plain-object) + +> Returns true if an object was created by the `Object` constructor. + +Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save is-plain-object +``` + +Use [isobject](https://github.com/jonschlinkert/isobject) if you only want to check if the value is an object and not an array or null. + +## Usage + +```js +import isPlainObject from 'is-plain-object'; +``` + +**true** when created by the `Object` constructor. + +```js +isPlainObject(Object.create({})); +//=> true +isPlainObject(Object.create(Object.prototype)); +//=> true +isPlainObject({foo: 'bar'}); +//=> true +isPlainObject({}); +//=> true +``` + +**false** when not created by the `Object` constructor. + +```js +isPlainObject(1); +//=> false +isPlainObject(['foo', 'bar']); +//=> false +isPlainObject([]); +//=> false +isPlainObject(new Foo); +//=> false +isPlainObject(null); +//=> false +isPlainObject(Object.create(null)); +//=> false +``` + +## About + +
+Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +
+ +
+Running Tests + +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: + +```sh +$ npm install && npm test +``` + +
+ +
+Building docs + +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ + +To generate the readme, run the following command: + +```sh +$ npm install -g verbose/verb#dev verb-generate-readme && verb +``` + +
+ +### Related projects + +You might also be interested in these projects: + +* [is-number](https://www.npmjs.com/package/is-number): Returns true if a number or string value is a finite number. Useful for regex… [more](https://github.com/jonschlinkert/is-number) | [homepage](https://github.com/jonschlinkert/is-number "Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc.") +* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") +* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.") + +### Contributors + +| **Commits** | **Contributor** | +| --- | --- | +| 19 | [jonschlinkert](https://github.com/jonschlinkert) | +| 6 | [TrySound](https://github.com/TrySound) | +| 6 | [stevenvachon](https://github.com/stevenvachon) | +| 3 | [onokumus](https://github.com/onokumus) | +| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | + +### Author + +**Jon Schlinkert** + +* [GitHub Profile](https://github.com/jonschlinkert) +* [Twitter Profile](https://twitter.com/jonschlinkert) +* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) + +### License + +Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert). +Released under the [MIT License](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 28, 2019._ \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/is-plain-object/index.cjs.js b/node_modules/@octokit/request/node_modules/is-plain-object/index.cjs.js new file mode 100644 index 0000000..d7dda95 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/is-plain-object/index.cjs.js @@ -0,0 +1,48 @@ +'use strict'; + +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +} + +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObjectObject(o) { + return isObject(o) === true + && Object.prototype.toString.call(o) === '[object Object]'; +} + +function isPlainObject(o) { + var ctor,prot; + + if (isObjectObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (typeof ctor !== 'function') return false; + + // If has modified prototype + prot = ctor.prototype; + if (isObjectObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} + +module.exports = isPlainObject; diff --git a/node_modules/@octokit/request/node_modules/is-plain-object/index.d.ts b/node_modules/@octokit/request/node_modules/is-plain-object/index.d.ts new file mode 100644 index 0000000..fd131f0 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/is-plain-object/index.d.ts @@ -0,0 +1,3 @@ +declare function isPlainObject(o: any): boolean; + +export default isPlainObject; diff --git a/node_modules/@octokit/request/node_modules/is-plain-object/index.js b/node_modules/@octokit/request/node_modules/is-plain-object/index.js new file mode 100644 index 0000000..565ce9e --- /dev/null +++ b/node_modules/@octokit/request/node_modules/is-plain-object/index.js @@ -0,0 +1,35 @@ +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +import isObject from 'isobject'; + +function isObjectObject(o) { + return isObject(o) === true + && Object.prototype.toString.call(o) === '[object Object]'; +} + +export default function isPlainObject(o) { + var ctor,prot; + + if (isObjectObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (typeof ctor !== 'function') return false; + + // If has modified prototype + prot = ctor.prototype; + if (isObjectObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +}; diff --git a/node_modules/@octokit/request/node_modules/is-plain-object/package.json b/node_modules/@octokit/request/node_modules/is-plain-object/package.json new file mode 100644 index 0000000..300c452 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/is-plain-object/package.json @@ -0,0 +1,86 @@ +{ + "name": "is-plain-object", + "description": "Returns true if an object was created by the `Object` constructor.", + "version": "3.0.0", + "homepage": "https://github.com/jonschlinkert/is-plain-object", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Osman Nuri Okumuş (http://onokumus.com)", + "Steven Vachon (https://svachon.com)", + "(https://github.com/wtgtybhertgeghgtwtg)" + ], + "repository": "jonschlinkert/is-plain-object", + "bugs": { + "url": "https://github.com/jonschlinkert/is-plain-object/issues" + }, + "license": "MIT", + "main": "index.cjs.js", + "module": "index.js", + "types": "index.d.ts", + "files": [ + "index.d.ts", + "index.js", + "index.cjs.js" + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "rollup -c", + "test_browser": "mocha-headless-chrome --args=disable-web-security -f test/browser.html", + "test_node": "mocha -r esm", + "test": "npm run test_node && npm run build && npm run test_browser", + "prepare": "rollup -c" + }, + "dependencies": { + "isobject": "^4.0.0" + }, + "devDependencies": { + "chai": "^4.2.0", + "esm": "^3.2.22", + "gulp-format-md": "^1.0.0", + "mocha": "^6.1.4", + "mocha-headless-chrome": "^2.0.2", + "rollup": "^1.10.1", + "rollup-plugin-node-resolve": "^4.2.3" + }, + "keywords": [ + "check", + "is", + "is-object", + "isobject", + "javascript", + "kind", + "kind-of", + "object", + "plain", + "type", + "typeof", + "value" + ], + "verb": { + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "related": { + "list": [ + "is-number", + "isobject", + "kind-of" + ] + }, + "lint": { + "reflinks": true + } + } + +,"_resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz" +,"_integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==" +,"_from": "is-plain-object@3.0.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/isobject/LICENSE b/node_modules/@octokit/request/node_modules/isobject/LICENSE new file mode 100644 index 0000000..943e71d --- /dev/null +++ b/node_modules/@octokit/request/node_modules/isobject/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +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/request/node_modules/isobject/README.md b/node_modules/@octokit/request/node_modules/isobject/README.md new file mode 100644 index 0000000..1c6e21f --- /dev/null +++ b/node_modules/@octokit/request/node_modules/isobject/README.md @@ -0,0 +1,127 @@ +# isobject [![NPM version](https://img.shields.io/npm/v/isobject.svg?style=flat)](https://www.npmjs.com/package/isobject) [![NPM monthly downloads](https://img.shields.io/npm/dm/isobject.svg?style=flat)](https://npmjs.org/package/isobject) [![NPM total downloads](https://img.shields.io/npm/dt/isobject.svg?style=flat)](https://npmjs.org/package/isobject) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/isobject.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/isobject) + +> Returns true if the value is an object and not an array or null. + +Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save isobject +``` + +Use [is-plain-object](https://github.com/jonschlinkert/is-plain-object) if you want only objects that are created by the `Object` constructor. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install isobject +``` + +## Usage + +```js +import isObject from 'isobject'; +``` + +**True** + +All of the following return `true`: + +```js +isObject({}); +isObject(Object.create({})); +isObject(Object.create(Object.prototype)); +isObject(Object.create(null)); +isObject({}); +isObject(new Foo); +isObject(/foo/); +``` + +**False** + +All of the following return `false`: + +```js +isObject(); +isObject(function () {}); +isObject(1); +isObject([]); +isObject(undefined); +isObject(null); +``` + +## About + +
+Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +
+ +
+Running Tests + +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: + +```sh +$ npm install && npm test +``` + +
+ +
+Building docs + +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ + +To generate the readme, run the following command: + +```sh +$ npm install -g verbose/verb#dev verb-generate-readme && verb +``` + +
+ +### Related projects + +You might also be interested in these projects: + +* [extend-shallow](https://www.npmjs.com/package/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | [homepage](https://github.com/jonschlinkert/extend-shallow "Extend an object with the properties of additional objects. node.js/javascript util.") +* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object "Returns true if an object was created by the `Object` constructor.") +* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.") +* [merge-deep](https://www.npmjs.com/package/merge-deep): Recursively merge values in a javascript object. | [homepage](https://github.com/jonschlinkert/merge-deep "Recursively merge values in a javascript object.") + +### Contributors + +| **Commits** | **Contributor** | +| --- | --- | +| 30 | [jonschlinkert](https://github.com/jonschlinkert) | +| 8 | [doowb](https://github.com/doowb) | +| 7 | [TrySound](https://github.com/TrySound) | +| 3 | [onokumus](https://github.com/onokumus) | +| 1 | [LeSuisse](https://github.com/LeSuisse) | +| 1 | [tmcw](https://github.com/tmcw) | +| 1 | [ZhouHansen](https://github.com/ZhouHansen) | + +### Author + +**Jon Schlinkert** + +* [GitHub Profile](https://github.com/jonschlinkert) +* [Twitter Profile](https://twitter.com/jonschlinkert) +* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) + +### License + +Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert). +Released under the [MIT License](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 28, 2019._ \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/isobject/index.cjs.js b/node_modules/@octokit/request/node_modules/isobject/index.cjs.js new file mode 100644 index 0000000..49debe7 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/isobject/index.cjs.js @@ -0,0 +1,14 @@ +'use strict'; + +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +} + +module.exports = isObject; diff --git a/node_modules/@octokit/request/node_modules/isobject/index.d.ts b/node_modules/@octokit/request/node_modules/isobject/index.d.ts new file mode 100644 index 0000000..c471c71 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/isobject/index.d.ts @@ -0,0 +1,3 @@ +declare function isObject(val: any): boolean; + +export default isObject; diff --git a/node_modules/@octokit/request/node_modules/isobject/index.js b/node_modules/@octokit/request/node_modules/isobject/index.js new file mode 100644 index 0000000..e9f0382 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/isobject/index.js @@ -0,0 +1,10 @@ +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +export default function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +}; diff --git a/node_modules/@octokit/request/node_modules/isobject/package.json b/node_modules/@octokit/request/node_modules/isobject/package.json new file mode 100644 index 0000000..8ddad95 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/isobject/package.json @@ -0,0 +1,84 @@ +{ + "name": "isobject", + "description": "Returns true if the value is an object and not an array or null.", + "version": "4.0.0", + "homepage": "https://github.com/jonschlinkert/isobject", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "(https://github.com/LeSuisse)", + "Brian Woodward (https://twitter.com/doowb)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Magnús Dæhlen (https://github.com/magnudae)", + "Tom MacWright (https://macwright.org)" + ], + "repository": "jonschlinkert/isobject", + "bugs": { + "url": "https://github.com/jonschlinkert/isobject/issues" + }, + "license": "MIT", + "files": [ + "index.d.ts", + "index.cjs.js", + "index.js" + ], + "main": "index.cjs.js", + "module": "index.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "rollup -i index.js -o index.cjs.js -f cjs", + "test": "mocha -r esm", + "prepublish": "npm run build" + }, + "dependencies": {}, + "devDependencies": { + "esm": "^3.2.22", + "gulp-format-md": "^0.1.9", + "mocha": "^2.4.5", + "rollup": "^1.10.1" + }, + "keywords": [ + "check", + "is", + "is-object", + "isobject", + "kind", + "kind-of", + "kindof", + "native", + "object", + "type", + "typeof", + "value" + ], + "types": "index.d.ts", + "verb": { + "related": { + "list": [ + "extend-shallow", + "is-plain-object", + "kind-of", + "merge-deep" + ] + }, + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "lint": { + "reflinks": true + }, + "reflinks": [ + "verb" + ] + } + +,"_resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz" +,"_integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" +,"_from": "isobject@4.0.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md b/node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md new file mode 100644 index 0000000..f105ab0 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md @@ -0,0 +1,7 @@ +# [ISC License](https://spdx.org/licenses/ISC) + +Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m) + +Permission to use, copy, modify, and/or 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. diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/README.md b/node_modules/@octokit/request/node_modules/universal-user-agent/README.md new file mode 100644 index 0000000..d00d14c --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/README.md @@ -0,0 +1,25 @@ +# universal-user-agent + +> Get a user agent string in both browser and node + +[![@latest](https://img.shields.io/npm/v/universal-user-agent.svg)](https://www.npmjs.com/package/universal-user-agent) +[![Build Status](https://travis-ci.com/gr2m/universal-user-agent.svg?branch=master)](https://travis-ci.com/gr2m/universal-user-agent) +[![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) + +```js +const { getUserAgent } = require("universal-user-agent"); +// or import { getUserAgent } from "universal-user-agent"; + +const userAgent = getUserAgent(); +// userAgent will look like this +// in browser: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0" +// in node: Node.js/v8.9.4 (macOS High Sierra; x64) +``` + +## Credits + +The Node implementation was originally inspired by [default-user-agent](https://www.npmjs.com/package/default-user-agent). + +## License + +[ISC](LICENSE.md) diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js new file mode 100644 index 0000000..80a0710 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js @@ -0,0 +1,22 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var osName = _interopDefault(require('os-name')); + +function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + + throw error; + } +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js.map b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js.map new file mode 100644 index 0000000..aff09ec --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/node.js"],"sourcesContent":["import osName from \"os-name\";\nexport function getUserAgent() {\n try {\n return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;\n }\n catch (error) {\n if (/wmic os get Caption/.test(error.message)) {\n return \"Windows \";\n }\n throw error;\n }\n}\n"],"names":["getUserAgent","process","version","substr","osName","arch","error","test","message"],"mappings":";;;;;;;;AACO,SAASA,YAAT,GAAwB;MACvB;WACQ,WAAUC,OAAO,CAACC,OAAR,CAAgBC,MAAhB,CAAuB,CAAvB,CAA0B,KAAIC,MAAM,EAAG,KAAIH,OAAO,CAACI,IAAK,GAA1E;GADJ,CAGA,OAAOC,KAAP,EAAc;QACN,sBAAsBC,IAAtB,CAA2BD,KAAK,CAACE,OAAjC,CAAJ,EAA+C;aACpC,gCAAP;;;UAEEF,KAAN;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/browser.js b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/browser.js new file mode 100644 index 0000000..6f52232 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/browser.js @@ -0,0 +1,3 @@ +export function getUserAgent() { + return navigator.userAgent; +} diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/index.js b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/index.js new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/index.js @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/node.js b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/node.js new file mode 100644 index 0000000..8b70a03 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/node.js @@ -0,0 +1,12 @@ +import osName from "os-name"; +export function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } + catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + throw error; + } +} diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/browser.d.ts b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/browser.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/browser.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/index.d.ts b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/index.d.ts new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/index.d.ts @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/node.d.ts b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/node.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/node.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-web/index.js b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-web/index.js new file mode 100644 index 0000000..11ec79b --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-web/index.js @@ -0,0 +1,6 @@ +function getUserAgent() { + return navigator.userAgent; +} + +export { getUserAgent }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-web/index.js.map b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-web/index.js.map new file mode 100644 index 0000000..549407e --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/browser.js"],"sourcesContent":["export function getUserAgent() {\n return navigator.userAgent;\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;IAC3B,OAAO,SAAS,CAAC,SAAS,CAAC;CAC9B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/package.json b/node_modules/@octokit/request/node_modules/universal-user-agent/package.json new file mode 100644 index 0000000..4a43790 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/package.json @@ -0,0 +1,37 @@ +{ + "name": "universal-user-agent", + "description": "Get a user agent string in both browser and node", + "version": "4.0.0", + "license": "ISC", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [], + "repository": "https://github.com/gr2m/universal-user-agent.git", + "dependencies": { + "os-name": "^3.1.0" + }, + "devDependencies": { + "@gr2m/pika-plugin-build-web": "^0.6.0-issue-84.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.6.0", + "@pika/plugin-ts-standard-pkg": "^0.6.0", + "@types/jest": "^24.0.18", + "jest": "^24.9.0", + "prettier": "^1.18.2", + "semantic-release": "^15.9.15", + "ts-jest": "^24.0.2", + "typescript": "^3.6.2" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" + +,"_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz" +,"_integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==" +,"_from": "universal-user-agent@4.0.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/request/package.json b/node_modules/@octokit/request/package.json new file mode 100644 index 0000000..b0115c0 --- /dev/null +++ b/node_modules/@octokit/request/package.json @@ -0,0 +1,68 @@ +{ + "name": "@octokit/request", + "description": "Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node", + "version": "5.3.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "request" + ], + "homepage": "https://github.com/octokit/request.js#readme", + "bugs": { + "url": "https://github.com/octokit/request.js/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/octokit/request.js.git" + }, + "dependencies": { + "@octokit/endpoint": "^5.5.0", + "@octokit/request-error": "^1.0.1", + "@octokit/types": "^1.0.0", + "deprecation": "^2.0.0", + "is-plain-object": "^3.0.0", + "node-fetch": "^2.3.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + }, + "devDependencies": { + "@octokit/auth-app": "^2.1.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.7.0", + "@pika/plugin-build-web": "^0.7.0", + "@pika/plugin-ts-standard-pkg": "^0.7.0", + "@types/fetch-mock": "^7.2.4", + "@types/jest": "^24.0.12", + "@types/lolex": "^3.1.1", + "@types/node": "^12.0.3", + "@types/node-fetch": "^2.3.3", + "@types/once": "^1.4.0", + "fetch-mock": "^7.2.0", + "jest": "^24.7.1", + "lolex": "^5.0.0", + "prettier": "^1.17.0", + "semantic-release": "^15.13.27", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^24.0.2", + "typescript": "^3.4.5" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "deno": "dist-web/index.js" + +,"_resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.0.tgz" +,"_integrity": "sha512-mMIeNrtYyNEIYNsKivDyUAukBkw0M5ckyJX56xoFRXSasDPCloIXaQOnaKNopzQ8dIOvpdq1ma8gmrS+h6O2OQ==" +,"_from": "@octokit/request@5.3.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/rest/LICENSE b/node_modules/@octokit/rest/LICENSE new file mode 100644 index 0000000..4c0d268 --- /dev/null +++ b/node_modules/@octokit/rest/LICENSE @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2012 Cloud9 IDE, Inc. (Mike de Boer) +Copyright (c) 2017-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/rest/README.md b/node_modules/@octokit/rest/README.md new file mode 100644 index 0000000..2a31824 --- /dev/null +++ b/node_modules/@octokit/rest/README.md @@ -0,0 +1,46 @@ +# rest.js + +> GitHub REST API client for JavaScript + +[![@latest](https://img.shields.io/npm/v/@octokit/rest.svg)](https://www.npmjs.com/package/@octokit/rest) +![Build Status](https://github.com/octokit/rest.js/workflows/Test/badge.svg) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/rest.js.svg)](https://greenkeeper.io/) + +## Installation + +```shell +npm install @octokit/rest +``` + +## Usage + +```js +const Octokit = require("@octokit/rest"); +const octokit = new Octokit(); + +// Compare: https://developer.github.com/v3/repos/#list-organization-repositories +octokit.repos + .listForOrg({ + org: "octokit", + type: "public" + }) + .then(({ data }) => { + // handle data + }); +``` + +See https://octokit.github.io/rest.js/ for full documentation. + +## Contributing + +We would love you to contribute to `@octokit/rest`, pull requests are very welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information. + +## Credits + +`@octokit/rest` was originally created as [`node-github`](https://www.npmjs.com/package/github) in 2012 by Mike de Boer from Cloud9 IDE, Inc. + +It was adopted and renamed by GitHub in 2017 + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/rest/index.d.ts b/node_modules/@octokit/rest/index.d.ts new file mode 100644 index 0000000..f305a26 --- /dev/null +++ b/node_modules/@octokit/rest/index.d.ts @@ -0,0 +1,35702 @@ +/** + * This file is generated based on https://github.com/octokit/routes/ & "npm run build:ts". + * + * DO NOT EDIT MANUALLY. + */ + +/** + * This declaration file requires TypeScript 3.1 or above. + */ + +/// + +import * as http from "http"; + +declare namespace Octokit { + type json = any; + type date = string; + + export interface Static { + plugin(plugin: Plugin): Static; + new (options?: Octokit.Options): Octokit; + } + + export interface Response { + /** This is the data you would see in https://developer.github.com/v3/ */ + data: T; + + /** Response status number */ + status: number; + + /** Response headers */ + headers: { + date: string; + "x-ratelimit-limit": string; + "x-ratelimit-remaining": string; + "x-ratelimit-reset": string; + "x-Octokit-request-id": string; + "x-Octokit-media-type": string; + link: string; + "last-modified": string; + etag: string; + status: string; + }; + + [Symbol.iterator](): Iterator; + } + + export type AnyResponse = Response; + + export interface EmptyParams {} + + export interface Options { + auth?: + | string + | { username: string; password: string; on2fa: () => Promise } + | { clientId: string; clientSecret: string } + | { (): string | Promise }; + userAgent?: string; + previews?: string[]; + baseUrl?: string; + log?: { + debug?: (message: string, info?: object) => void; + info?: (message: string, info?: object) => void; + warn?: (message: string, info?: object) => void; + error?: (message: string, info?: object) => void; + }; + request?: { + agent?: http.Agent; + timeout?: number; + }; + timeout?: number; // Deprecated + headers?: { [header: string]: any }; // Deprecated + agent?: http.Agent; // Deprecated + [option: string]: any; + } + + export type RequestMethod = + | "DELETE" + | "GET" + | "HEAD" + | "PATCH" + | "POST" + | "PUT"; + + export interface EndpointOptions { + baseUrl?: string; + method?: RequestMethod; + url?: string; + headers?: { [header: string]: any }; + data?: any; + request?: { [option: string]: any }; + [parameter: string]: any; + } + + export interface RequestOptions { + method?: RequestMethod; + url?: string; + headers?: RequestHeaders; + body?: any; + request?: OctokitRequestOptions; + /** + * 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://developer.github.com/v3/media/|API Previews} without the `-preview` suffix. + * Example for single preview: `['squirrel-girl']`. + * Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`. + */ + previews?: string[]; + }; + } + + export type RequestHeaders = { + /** + * Avoid setting `accept`, use `mediaFormat.{format|previews}` 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; + }; + + export type OctokitRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + */ + agent?: http.Agent; + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: any; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: any; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + + [option: string]: any; + }; + + export interface Log { + debug: (message: string, additionalInfo?: object) => void; + info: (message: string, additionalInfo?: object) => void; + warn: (message: string, additionalInfo?: object) => void; + error: (message: string, additionalInfo?: object) => void; + } + + export interface Endpoint { + ( + Route: string, + EndpointOptions?: Octokit.EndpointOptions + ): Octokit.RequestOptions; + (EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions; + /** + * Current default options + */ + DEFAULTS: Octokit.EndpointOptions; + /** + * Get the defaulted endpoint options, but without parsing them into request options: + */ + merge( + Route: string, + EndpointOptions?: Octokit.EndpointOptions + ): Octokit.RequestOptions; + merge(EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions; + /** + * Stateless method to turn endpoint options into request options. Calling endpoint(options) is the same as calling endpoint.parse(endpoint.merge(options)). + */ + parse(EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions; + /** + * Merges existing defaults with passed options and returns new endpoint() method with new defaults + */ + defaults(EndpointOptions: Octokit.EndpointOptions): Octokit.Endpoint; + } + + export interface Request { + (Route: string, EndpointOptions?: Octokit.EndpointOptions): Promise< + Octokit.AnyResponse + >; + (EndpointOptions: Octokit.EndpointOptions): Promise; + endpoint: Octokit.Endpoint; + } + + export interface AuthBasic { + type: "basic"; + username: string; + password: string; + } + + export interface AuthOAuthToken { + type: "oauth"; + token: string; + } + + export interface AuthOAuthSecret { + type: "oauth"; + key: string; + secret: string; + } + + export interface AuthUserToken { + type: "token"; + token: string; + } + + export interface AuthJWT { + type: "app"; + token: string; + } + + export type Link = { link: string } | { headers: { link: string } } | string; + + export interface Callback { + (error: Error | null, result: T): any; + } + + export type Plugin = (octokit: Octokit, options: Octokit.Options) => void; + + // See https://github.com/octokit/request.js#request + export type HookOptions = { + baseUrl: string; + headers: { [header: string]: string }; + method: string; + url: string; + data: any; + // See https://github.com/bitinn/node-fetch#options + request: { + follow?: number; + timeout?: number; + compress?: boolean; + size?: number; + agent?: string | null; + }; + [index: string]: any; + }; + + export type HookError = Error & { + status: number; + headers: { [header: string]: string }; + documentation_url?: string; + errors?: [ + { + resource: string; + field: string; + code: string; + } + ]; + }; + + export interface Paginate { + ( + Route: string, + EndpointOptions?: Octokit.EndpointOptions, + callback?: (response: Octokit.AnyResponse) => any + ): Promise; + ( + EndpointOptions: Octokit.EndpointOptions, + callback?: (response: Octokit.AnyResponse) => any + ): Promise; + iterator: ( + EndpointOptions: Octokit.EndpointOptions + ) => AsyncIterableIterator; + } + + // response types + type UsersUpdateAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; + }; + type UsersUpdateAuthenticatedResponse = { + avatar_url: string; + bio: string; + blog: string; + collaborators: number; + company: string; + created_at: string; + disk_usage: number; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + owned_private_repos: number; + plan: UsersUpdateAuthenticatedResponsePlan; + private_gists: number; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + total_private_repos: number; + two_factor_authentication: boolean; + type: string; + updated_at: string; + url: string; + }; + type UsersTogglePrimaryEmailVisibilityResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; + }; + type UsersListPublicKeysForUserResponseItem = { id: number; key: string }; + type UsersListPublicKeysResponseItem = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type UsersListPublicEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; + }; + type UsersListGpgKeysForUserResponseItemSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersListGpgKeysForUserResponseItemEmailsItem = { + email: string; + verified: boolean; + }; + type UsersListGpgKeysForUserResponseItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersListGpgKeysResponseItemSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersListGpgKeysResponseItemEmailsItem = { + email: string; + verified: boolean; + }; + type UsersListGpgKeysResponseItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersListFollowingForUserResponseItem = { + 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; + }; + type UsersListFollowingForAuthenticatedUserResponseItem = { + 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; + }; + type UsersListFollowersForUserResponseItem = { + 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; + }; + type UsersListFollowersForAuthenticatedUserResponseItem = { + 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; + }; + type UsersListEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; + }; + type UsersListBlockedResponseItem = { + 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; + }; + type UsersListResponseItem = { + 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; + }; + type UsersGetPublicKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type UsersGetGpgKeyResponseSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersGetGpgKeyResponseEmailsItem = { email: string; verified: boolean }; + type UsersGetGpgKeyResponse = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersGetContextForUserResponseContextsItem = { + message: string; + octicon: string; + }; + type UsersGetContextForUserResponse = { + contexts: Array; + }; + type UsersGetByUsernameResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; + }; + type UsersGetByUsernameResponse = { + avatar_url: string; + bio: string; + blog: string; + company: string; + created_at: string; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + updated_at: string; + url: string; + plan?: UsersGetByUsernameResponsePlan; + }; + type UsersGetAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; + }; + type UsersGetAuthenticatedResponse = { + avatar_url: string; + bio: string; + blog: string; + collaborators?: number; + company: string; + created_at: string; + disk_usage?: number; + email: string; + events_url: string; + followers: number; + followers_url: string; + following: number; + following_url: string; + gists_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; + organizations_url: string; + owned_private_repos?: number; + plan?: UsersGetAuthenticatedResponsePlan; + private_gists?: number; + public_gists: number; + public_repos: number; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + total_private_repos?: number; + two_factor_authentication?: boolean; + type: string; + updated_at: string; + url: string; + }; + type UsersCreatePublicKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type UsersCreateGpgKeyResponseSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersCreateGpgKeyResponseEmailsItem = { + email: string; + verified: boolean; + }; + type UsersCreateGpgKeyResponse = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; + created_at: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; + }; + type UsersAddEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; + }; + type TeamsUpdateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionCommentResponseAuthor = { + 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; + }; + type TeamsUpdateDiscussionCommentResponse = { + author: TeamsUpdateDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + reactions: TeamsUpdateDiscussionCommentResponseReactions; + updated_at: string; + url: string; + }; + type TeamsUpdateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsUpdateDiscussionResponseAuthor = { + 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; + }; + type TeamsUpdateDiscussionResponse = { + author: TeamsUpdateDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsUpdateDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsUpdateResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsUpdateResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsReviewProjectResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsReviewProjectResponseCreator = { + 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; + }; + type TeamsReviewProjectResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsListReposResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsListReposResponseItemOwner = { + 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; + }; + type TeamsListReposResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type TeamsListReposResponseItem = { + 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + license: TeamsListReposResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsListReposResponseItemOwner; + permissions: TeamsListReposResponseItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type TeamsListProjectsResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsListProjectsResponseItemCreator = { + 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; + }; + type TeamsListProjectsResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; + }; + type TeamsListPendingInvitationsResponseItemInviter = { + 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; + }; + type TeamsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type TeamsListMembersResponseItem = { + 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; + }; + type TeamsListForAuthenticatedUserResponseItemOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsListForAuthenticatedUserResponseItem = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsListForAuthenticatedUserResponseItemOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsListDiscussionsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionsResponseItemAuthor = { + 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; + }; + type TeamsListDiscussionsResponseItem = { + author: TeamsListDiscussionsResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsListDiscussionCommentsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionCommentsResponseItemAuthor = { + 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; + }; + type TeamsListDiscussionCommentsResponseItem = { + author: TeamsListDiscussionCommentsResponseItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsListDiscussionCommentsResponseItemReactions; + updated_at: string; + url: string; + }; + type TeamsListChildResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListChildResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsListResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type TeamsGetMembershipResponse = { + role: string; + state: string; + url: string; + }; + type TeamsGetDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionCommentResponseAuthor = { + 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; + }; + type TeamsGetDiscussionCommentResponse = { + author: TeamsGetDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentResponseReactions; + updated_at: string; + url: string; + }; + type TeamsGetDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionResponseAuthor = { + 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; + }; + type TeamsGetDiscussionResponse = { + author: TeamsGetDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsGetByNameResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsGetByNameResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetByNameResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsGetResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsGetResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionCommentResponseAuthor = { + 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; + }; + type TeamsCreateDiscussionCommentResponse = { + author: TeamsCreateDiscussionCommentResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsCreateDiscussionCommentResponseReactions; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionResponseAuthor = { + 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; + }; + type TeamsCreateDiscussionResponse = { + author: TeamsCreateDiscussionResponseAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + html_url: string; + last_edited_at: null; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsCreateDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsCreateResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_url: string; + name: string; + node_id: string; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + type: string; + url: string; + }; + type TeamsCreateResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsCreateResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; + }; + type TeamsCheckManagesRepoResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsCheckManagesRepoResponseOwner = { + 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; + }; + type TeamsCheckManagesRepoResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: TeamsCheckManagesRepoResponseOwner; + permissions: TeamsCheckManagesRepoResponsePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type TeamsAddOrUpdateProjectResponse = { + documentation_url: string; + message: string; + }; + type TeamsAddOrUpdateMembershipResponse = { + role: string; + state: string; + url: string; + }; + type TeamsAddMemberResponseErrorsItem = { + code: string; + field: string; + resource: string; + }; + type TeamsAddMemberResponse = { + errors: Array; + message: string; + }; + type SearchUsersResponseItemsItem = { + avatar_url: string; + followers_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; + score: number; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchUsersResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchTopicsResponseItemsItem = { + created_at: string; + created_by: string; + curated: boolean; + description: string; + display_name: string; + featured: boolean; + name: string; + released: string; + score: number; + short_description: string; + updated_at: string; + }; + type SearchTopicsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchReposResponseItemsItemOwner = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + node_id: string; + received_events_url: string; + type: string; + url: string; + }; + type SearchReposResponseItemsItem = { + created_at: string; + default_branch: string; + description: string; + fork: boolean; + forks_count: number; + full_name: string; + homepage: string; + html_url: string; + id: number; + language: string; + master_branch: string; + name: string; + node_id: string; + open_issues_count: number; + owner: SearchReposResponseItemsItemOwner; + private: boolean; + pushed_at: string; + score: number; + size: number; + stargazers_count: number; + updated_at: string; + url: string; + watchers_count: number; + }; + type SearchReposResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchLabelsResponseItemsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + score: number; + url: string; + }; + type SearchLabelsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchIssuesAndPullRequestsResponseItemsItemUser = { + 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; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchIssuesAndPullRequestsResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; + }; + type SearchIssuesAndPullRequestsResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type SearchIssuesAndPullRequestsResponseItemsItem = { + assignee: null; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + milestone: null; + node_id: string; + number: number; + pull_request: SearchIssuesAndPullRequestsResponseItemsItemPullRequest; + repository_url: string; + score: number; + state: string; + title: string; + updated_at: string; + url: string; + user: SearchIssuesAndPullRequestsResponseItemsItemUser; + }; + type SearchIssuesAndPullRequestsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchIssuesResponseItemsItemUser = { + 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; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type SearchIssuesResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; + }; + type SearchIssuesResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type SearchIssuesResponseItemsItem = { + assignee: null; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + milestone: null; + node_id: string; + number: number; + pull_request: SearchIssuesResponseItemsItemPullRequest; + repository_url: string; + score: number; + state: string; + title: string; + updated_at: string; + url: string; + user: SearchIssuesResponseItemsItemUser; + }; + type SearchIssuesResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchCommitsResponseItemsItemRepositoryOwner = { + 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; + }; + type SearchCommitsResponseItemsItemRepository = { + 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; + 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: SearchCommitsResponseItemsItemRepositoryOwner; + 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; + }; + type SearchCommitsResponseItemsItemParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type SearchCommitsResponseItemsItemCommitter = { + 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; + }; + type SearchCommitsResponseItemsItemCommitTree = { sha: string; url: string }; + type SearchCommitsResponseItemsItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type SearchCommitsResponseItemsItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type SearchCommitsResponseItemsItemCommit = { + author: SearchCommitsResponseItemsItemCommitAuthor; + comment_count: number; + committer: SearchCommitsResponseItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseItemsItemCommitTree; + url: string; + }; + type SearchCommitsResponseItemsItemAuthor = { + 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; + }; + type SearchCommitsResponseItemsItem = { + author: SearchCommitsResponseItemsItemAuthor; + comments_url: string; + commit: SearchCommitsResponseItemsItemCommit; + committer: SearchCommitsResponseItemsItemCommitter; + html_url: string; + parents: Array; + repository: SearchCommitsResponseItemsItemRepository; + score: number; + sha: string; + url: string; + }; + type SearchCommitsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchCodeResponseItemsItemRepositoryOwner = { + 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; + }; + type SearchCodeResponseItemsItemRepository = { + 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; + description: string; + 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: SearchCodeResponseItemsItemRepositoryOwner; + private: boolean; + pulls_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; + }; + type SearchCodeResponseItemsItem = { + git_url: string; + html_url: string; + name: string; + path: string; + repository: SearchCodeResponseItemsItemRepository; + score: number; + sha: string; + url: string; + }; + type SearchCodeResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type ReposUploadReleaseAssetResponseValueUploader = { + 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; + }; + type ReposUploadReleaseAssetResponseValue = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseValueUploader; + url: string; + }; + type ReposUploadReleaseAssetResponse = { + value: ReposUploadReleaseAssetResponseValue; + }; + type ReposUpdateReleaseAssetResponseUploader = { + 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; + }; + type ReposUpdateReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseUploader; + url: string; + }; + type ReposUpdateReleaseResponseAuthor = { + 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; + }; + type ReposUpdateReleaseResponseAssetsItemUploader = { + 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; + }; + type ReposUpdateReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseAssetsItemUploader; + url: string; + }; + type ReposUpdateReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposUpdateReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposUpdateProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { + 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; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array< + ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposUpdateInvitationResponseRepositoryOwner = { + 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; + }; + type ReposUpdateInvitationResponseRepository = { + 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; + 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; + git_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: ReposUpdateInvitationResponseRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ReposUpdateInvitationResponseInviter = { + 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; + }; + type ReposUpdateInvitationResponseInvitee = { + 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; + }; + type ReposUpdateInvitationResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposUpdateInvitationResponseInvitee; + inviter: ReposUpdateInvitationResponseInviter; + permissions: string; + repository: ReposUpdateInvitationResponseRepository; + url: string; + }; + type ReposUpdateHookResponseLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposUpdateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposUpdateHookResponse = { + active: boolean; + config: ReposUpdateHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposUpdateHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; + }; + type ReposUpdateFileResponseContent = { + _links: ReposUpdateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposUpdateFileResponseCommitTree = { sha: string; url: string }; + type ReposUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposUpdateFileResponseCommit = { + author: ReposUpdateFileResponseCommitAuthor; + committer: ReposUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposUpdateFileResponseCommitTree; + url: string; + verification: ReposUpdateFileResponseCommitVerification; + }; + type ReposUpdateFileResponse = { + commit: ReposUpdateFileResponseCommit; + content: ReposUpdateFileResponseContent; + }; + type ReposUpdateCommitCommentResponseUser = { + 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; + }; + type ReposUpdateCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposUpdateCommitCommentResponseUser; + }; + type ReposUpdateBranchProtectionResponseRestrictionsUsersItem = { + 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; + }; + type ReposUpdateBranchProtectionResponseRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRestrictionsAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner; + permissions: ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions; + slug: string; + updated_at: string; + }; + type ReposUpdateBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + 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; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array< + ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposUpdateBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; + }; + type ReposUpdateBranchProtectionResponse = { + enforce_admins: ReposUpdateBranchProtectionResponseEnforceAdmins; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposUpdateBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposUpdateBranchProtectionResponseRestrictions; + url: string; + }; + type ReposUpdateResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposUpdateResponseSourceOwner = { + 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; + }; + type ReposUpdateResponseSource = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposUpdateResponseSourceOwner; + permissions: ReposUpdateResponseSourcePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposUpdateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposUpdateResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposUpdateResponseParentOwner = { + 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; + }; + type ReposUpdateResponseParent = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposUpdateResponseParentOwner; + permissions: ReposUpdateResponseParentPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposUpdateResponseOwner = { + 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; + }; + type ReposUpdateResponseOrganization = { + 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; + }; + type ReposUpdateResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + organization: ReposUpdateResponseOrganization; + owner: ReposUpdateResponseOwner; + parent: ReposUpdateResponseParent; + permissions: ReposUpdateResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + source: ReposUpdateResponseSource; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposTransferResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposTransferResponseOwner = { + 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; + }; + type ReposTransferResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposTransferResponseOwner; + permissions: ReposTransferResponsePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesReadme = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesLicense = { + html_url: string; + key: string; + name: string; + spdx_id: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesContributing = { + html_url: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct = { + html_url: string; + key: string; + name: string; + url: string; + }; + type ReposRetrieveCommunityProfileMetricsResponseFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseFilesLicense; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate; + readme: ReposRetrieveCommunityProfileMetricsResponseFilesReadme; + }; + type ReposRetrieveCommunityProfileMetricsResponse = { + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseFiles; + health_percentage: number; + updated_at: string; + }; + type ReposRequestPageBuildResponse = { status: string; url: string }; + type ReposReplaceTopicsResponse = { names: Array }; + type ReposReplaceProtectedBranchUserRestrictionsResponseItem = { + 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; + }; + type ReposReplaceProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposRemoveProtectedBranchUserRestrictionsResponseItem = { + 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; + }; + type ReposRemoveProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposMergeResponseParentsItem = { sha: string; url: string }; + type ReposMergeResponseCommitter = { + 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; + }; + type ReposMergeResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposMergeResponseCommitTree = { sha: string; url: string }; + type ReposMergeResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposMergeResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposMergeResponseCommit = { + author: ReposMergeResponseCommitAuthor; + comment_count: number; + committer: ReposMergeResponseCommitCommitter; + message: string; + tree: ReposMergeResponseCommitTree; + url: string; + verification: ReposMergeResponseCommitVerification; + }; + type ReposMergeResponseAuthor = { + 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; + }; + type ReposMergeResponse = { + author: ReposMergeResponseAuthor; + comments_url: string; + commit: ReposMergeResponseCommit; + committer: ReposMergeResponseCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposListUsersWithAccessToProtectedBranchResponseItem = { + 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; + }; + type ReposListTopicsResponse = { names: Array }; + type ReposListTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListTeamsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListTagsResponseItemCommit = { sha: string; url: string }; + type ReposListTagsResponseItem = { + commit: ReposListTagsResponseItemCommit; + name: string; + tarball_url: string; + zipball_url: string; + }; + type ReposListStatusesForRefResponseItemCreator = { + 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; + }; + type ReposListStatusesForRefResponseItem = { + avatar_url: string; + context: string; + created_at: string; + creator: ReposListStatusesForRefResponseItemCreator; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposListReleasesResponseItemAuthor = { + 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; + }; + type ReposListReleasesResponseItemAssetsItemUploader = { + 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; + }; + type ReposListReleasesResponseItemAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposListReleasesResponseItemAssetsItemUploader; + url: string; + }; + type ReposListReleasesResponseItem = { + assets: Array; + assets_url: string; + author: ReposListReleasesResponseItemAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemUser = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner; + permissions: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemHead = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner; + permissions: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemBase = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemAssignee = { + 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; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments = { + href: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemLinks = { + comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments; + commits: ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits; + html: ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments; + self: ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf; + statuses: ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItem = { + _links: ReposListPullRequestsAssociatedWithCommitResponseItemLinks; + active_lock_reason: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseItemAssignee; + assignees: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem + >; + author_association: string; + base: ReposListPullRequestsAssociatedWithCommitResponseItemBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: ReposListPullRequestsAssociatedWithCommitResponseItemHead; + html_url: string; + id: number; + issue_url: string; + labels: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem + >; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: ReposListPullRequestsAssociatedWithCommitResponseItemMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem + >; + requested_teams: Array< + ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem + >; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemUser; + }; + type ReposListPublicResponseItemOwner = { + 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; + }; + type ReposListPublicResponseItem = { + 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; + 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; + git_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: ReposListPublicResponseItemOwner; + private: boolean; + 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; + url: string; + }; + type ReposListProtectedBranchUserRestrictionsResponseItem = { + 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; + }; + type ReposListProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposListPagesBuildsResponseItemPusher = { + 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; + }; + type ReposListPagesBuildsResponseItemError = { message: null }; + type ReposListPagesBuildsResponseItem = { + commit: string; + created_at: string; + duration: number; + error: ReposListPagesBuildsResponseItemError; + pusher: ReposListPagesBuildsResponseItemPusher; + status: string; + updated_at: string; + url: string; + }; + type ReposListLanguagesResponse = { C: number; Python: number }; + type ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner = { + 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; + }; + type ReposListInvitationsForAuthenticatedUserResponseItemRepository = { + 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; + 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; + git_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: ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ReposListInvitationsForAuthenticatedUserResponseItemInviter = { + 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; + }; + type ReposListInvitationsForAuthenticatedUserResponseItemInvitee = { + 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; + }; + type ReposListInvitationsForAuthenticatedUserResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsForAuthenticatedUserResponseItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseItemInviter; + permissions: string; + repository: ReposListInvitationsForAuthenticatedUserResponseItemRepository; + url: string; + }; + type ReposListInvitationsResponseItemRepositoryOwner = { + 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; + }; + type ReposListInvitationsResponseItemRepository = { + 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; + 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; + git_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: ReposListInvitationsResponseItemRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ReposListInvitationsResponseItemInviter = { + 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; + }; + type ReposListInvitationsResponseItemInvitee = { + 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; + }; + type ReposListInvitationsResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsResponseItemInvitee; + inviter: ReposListInvitationsResponseItemInviter; + permissions: string; + repository: ReposListInvitationsResponseItemRepository; + url: string; + }; + type ReposListHooksResponseItemLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposListHooksResponseItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposListHooksResponseItem = { + active: boolean; + config: ReposListHooksResponseItemConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposListHooksResponseItemLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposListForksResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListForksResponseItemOwner = { + 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; + }; + type ReposListForksResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ReposListForksResponseItem = { + 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + license: ReposListForksResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListForksResponseItemOwner; + permissions: ReposListForksResponseItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposListForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListForOrgResponseItemOwner = { + 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; + }; + type ReposListForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ReposListForOrgResponseItem = { + 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + license: ReposListForOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposListForOrgResponseItemOwner; + permissions: ReposListForOrgResponseItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposListDownloadsResponseItem = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; + }; + type ReposListDeploymentsResponseItemPayload = { deploy: string }; + type ReposListDeploymentsResponseItemCreator = { + 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; + }; + type ReposListDeploymentsResponseItem = { + created_at: string; + creator: ReposListDeploymentsResponseItemCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposListDeploymentsResponseItemPayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; + }; + type ReposListDeploymentStatusesResponseItemCreator = { + 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; + }; + type ReposListDeploymentStatusesResponseItem = { + created_at: string; + creator: ReposListDeploymentStatusesResponseItemCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposListDeployKeysResponseItem = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type ReposListContributorsResponseItem = { + avatar_url: string; + contributions: number; + 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; + }; + type ReposListCommitsResponseItemParentsItem = { sha: string; url: string }; + type ReposListCommitsResponseItemCommitter = { + 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; + }; + type ReposListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposListCommitsResponseItemCommitTree = { sha: string; url: string }; + type ReposListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposListCommitsResponseItemCommit = { + author: ReposListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: ReposListCommitsResponseItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseItemCommitTree; + url: string; + verification: ReposListCommitsResponseItemCommitVerification; + }; + type ReposListCommitsResponseItemAuthor = { + 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; + }; + type ReposListCommitsResponseItem = { + author: ReposListCommitsResponseItemAuthor; + comments_url: string; + commit: ReposListCommitsResponseItemCommit; + committer: ReposListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposListCommitCommentsResponseItemUser = { + 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; + }; + type ReposListCommitCommentsResponseItem = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposListCommitCommentsResponseItemUser; + }; + type ReposListCommentsForCommitResponseItemUser = { + 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; + }; + type ReposListCommentsForCommitResponseItem = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposListCommentsForCommitResponseItemUser; + }; + type ReposListCollaboratorsResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListCollaboratorsResponseItem = { + 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; + permissions: ReposListCollaboratorsResponseItemPermissions; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReposListBranchesForHeadCommitResponseItemCommit = { + sha: string; + url: string; + }; + type ReposListBranchesForHeadCommitResponseItem = { + commit: ReposListBranchesForHeadCommitResponseItemCommit; + name: string; + protected: string; + }; + type ReposListBranchesResponseItemProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; + }; + type ReposListBranchesResponseItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseItemProtectionRequiredStatusChecks; + }; + type ReposListBranchesResponseItemCommit = { sha: string; url: string }; + type ReposListBranchesResponseItem = { + commit: ReposListBranchesResponseItemCommit; + name: string; + protected: boolean; + protection: ReposListBranchesResponseItemProtection; + protection_url: string; + }; + type ReposListAssetsForReleaseResponseItemUploader = { + 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; + }; + type ReposListAssetsForReleaseResponseItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseItemUploader; + url: string; + }; + type ReposListAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposListAppsWithAccessToProtectedBranchResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposListAppsWithAccessToProtectedBranchResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposListAppsWithAccessToProtectedBranchResponseItemOwner; + permissions: ReposListAppsWithAccessToProtectedBranchResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetViewsResponseViewsItem = { + count: number; + timestamp: string; + uniques: number; + }; + type ReposGetViewsResponse = { + count: number; + uniques: number; + views: Array; + }; + type ReposGetUsersWithAccessToProtectedBranchResponseItem = { + 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; + }; + type ReposGetTopReferrersResponseItem = { + count: number; + referrer: string; + uniques: number; + }; + type ReposGetTopPathsResponseItem = { + count: number; + path: string; + title: string; + uniques: number; + }; + type ReposGetTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetReleaseByTagResponseAuthor = { + 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; + }; + type ReposGetReleaseByTagResponseAssetsItemUploader = { + 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; + }; + type ReposGetReleaseByTagResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseAssetsItemUploader; + url: string; + }; + type ReposGetReleaseByTagResponse = { + assets: Array; + assets_url: string; + author: ReposGetReleaseByTagResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposGetReleaseAssetResponseUploader = { + 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; + }; + type ReposGetReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseUploader; + url: string; + }; + type ReposGetReleaseResponseAuthor = { + 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; + }; + type ReposGetReleaseResponseAssetsItemUploader = { + 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; + }; + type ReposGetReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetReleaseResponseAssetsItemUploader; + url: string; + }; + type ReposGetReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposGetReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposGetReadmeResponseLinks = { + git: string; + html: string; + self: string; + }; + type ReposGetReadmeResponse = { + _links: ReposGetReadmeResponseLinks; + content: string; + download_url: string; + encoding: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposGetProtectedBranchRestrictionsResponseUsersItem = { + 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; + }; + type ReposGetProtectedBranchRestrictionsResponseTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposGetProtectedBranchRestrictionsResponseAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposGetProtectedBranchRestrictionsResponseAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseAppsItemOwner; + permissions: ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetProtectedBranchRestrictionsResponse = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; + }; + type ReposGetProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposGetProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { + 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; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array< + ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposGetProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; + }; + type ReposGetParticipationStatsResponse = { + all: Array; + owner: Array; + }; + type ReposGetPagesBuildResponsePusher = { + 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; + }; + type ReposGetPagesBuildResponseError = { message: null }; + type ReposGetPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetPagesBuildResponseError; + pusher: ReposGetPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; + }; + type ReposGetPagesResponseSource = { branch: string; directory: string }; + type ReposGetPagesResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseSource; + status: string; + url: string; + }; + type ReposGetLatestReleaseResponseAuthor = { + 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; + }; + type ReposGetLatestReleaseResponseAssetsItemUploader = { + 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; + }; + type ReposGetLatestReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; + name: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseAssetsItemUploader; + url: string; + }; + type ReposGetLatestReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposGetLatestReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposGetLatestPagesBuildResponsePusher = { + 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; + }; + type ReposGetLatestPagesBuildResponseError = { message: null }; + type ReposGetLatestPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetLatestPagesBuildResponseError; + pusher: ReposGetLatestPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; + }; + type ReposGetHookResponseLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposGetHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposGetHookResponse = { + active: boolean; + config: ReposGetHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposGetHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposGetDownloadResponse = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; + }; + type ReposGetDeploymentStatusResponseCreator = { + 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; + }; + type ReposGetDeploymentStatusResponse = { + created_at: string; + creator: ReposGetDeploymentStatusResponseCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposGetDeploymentResponsePayload = { deploy: string }; + type ReposGetDeploymentResponseCreator = { + 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; + }; + type ReposGetDeploymentResponse = { + created_at: string; + creator: ReposGetDeploymentResponseCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposGetDeploymentResponsePayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; + }; + type ReposGetDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type ReposGetContributorsStatsResponseItemWeeksItem = { + a: number; + c: number; + d: number; + w: string; + }; + type ReposGetContributorsStatsResponseItemAuthor = { + 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; + }; + type ReposGetContributorsStatsResponseItem = { + author: ReposGetContributorsStatsResponseItemAuthor; + total: number; + weeks: Array; + }; + type ReposGetContentsResponseItemLinks = { + git: string; + html: string; + self: string; + }; + type ReposGetContentsResponseItem = { + _links: ReposGetContentsResponseItemLinks; + download_url: string | null; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposGetContentsResponseLinks = { + git: string; + html: string; + self: string; + }; + type ReposGetContentsResponse = + | { + _links: ReposGetContentsResponseLinks; + content?: string; + download_url: string | null; + encoding?: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + target?: string; + submodule_git_url?: string; + } + | Array; + type ReposGetCommitCommentResponseUser = { + 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; + }; + type ReposGetCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposGetCommitCommentResponseUser; + }; + type ReposGetCommitActivityStatsResponseItem = { + days: Array; + total: number; + week: number; + }; + type ReposGetCommitResponseStats = { + additions: number; + deletions: number; + total: number; + }; + type ReposGetCommitResponseParentsItem = { sha: string; url: string }; + type ReposGetCommitResponseFilesItem = { + additions: number; + blob_url: string; + changes: number; + deletions: number; + filename: string; + patch: string; + raw_url: string; + status: string; + }; + type ReposGetCommitResponseCommitter = { + 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; + }; + type ReposGetCommitResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposGetCommitResponseCommitTree = { sha: string; url: string }; + type ReposGetCommitResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposGetCommitResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposGetCommitResponseCommit = { + author: ReposGetCommitResponseCommitAuthor; + comment_count: number; + committer: ReposGetCommitResponseCommitCommitter; + message: string; + tree: ReposGetCommitResponseCommitTree; + url: string; + verification: ReposGetCommitResponseCommitVerification; + }; + type ReposGetCommitResponseAuthor = { + 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; + }; + type ReposGetCommitResponse = { + author: ReposGetCommitResponseAuthor; + comments_url: string; + commit: ReposGetCommitResponseCommit; + committer: ReposGetCommitResponseCommitter; + files: Array; + html_url: string; + node_id: string; + parents: Array; + sha: string; + stats: ReposGetCommitResponseStats; + url: string; + }; + type ReposGetCombinedStatusForRefResponseStatusesItem = { + avatar_url: string; + context: string; + created_at: string; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposGetCombinedStatusForRefResponseRepositoryOwner = { + 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; + }; + type ReposGetCombinedStatusForRefResponseRepository = { + 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; + 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; + git_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: ReposGetCombinedStatusForRefResponseRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ReposGetCombinedStatusForRefResponse = { + commit_url: string; + repository: ReposGetCombinedStatusForRefResponseRepository; + sha: string; + state: string; + statuses: Array; + total_count: number; + url: string; + }; + type ReposGetCollaboratorPermissionLevelResponseUser = { + 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; + }; + type ReposGetCollaboratorPermissionLevelResponse = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseUser; + }; + type ReposGetClonesResponseClonesItem = { + count: number; + timestamp: string; + uniques: number; + }; + type ReposGetClonesResponse = { + clones: Array; + count: number; + uniques: number; + }; + type ReposGetBranchProtectionResponseRestrictionsUsersItem = { + 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; + }; + type ReposGetBranchProtectionResponseRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposGetBranchProtectionResponseRestrictionsAppsItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposGetBranchProtectionResponseRestrictionsAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetBranchProtectionResponseRestrictionsAppsItemOwner; + permissions: ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; + }; + type ReposGetBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + 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; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array< + ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem + >; + teams_url: string; + url: string; + users: Array< + ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem + >; + users_url: string; + }; + type ReposGetBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; + }; + type ReposGetBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; + }; + type ReposGetBranchProtectionResponse = { + enforce_admins: ReposGetBranchProtectionResponseEnforceAdmins; + required_pull_request_reviews: ReposGetBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposGetBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposGetBranchProtectionResponseRestrictions; + url: string; + }; + type ReposGetBranchResponseProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; + }; + type ReposGetBranchResponseProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseProtectionRequiredStatusChecks; + }; + type ReposGetBranchResponseCommitParentsItem = { sha: string; url: string }; + type ReposGetBranchResponseCommitCommitter = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; + }; + type ReposGetBranchResponseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposGetBranchResponseCommitCommitTree = { sha: string; url: string }; + type ReposGetBranchResponseCommitCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposGetBranchResponseCommitCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposGetBranchResponseCommitCommit = { + author: ReposGetBranchResponseCommitCommitAuthor; + committer: ReposGetBranchResponseCommitCommitCommitter; + message: string; + tree: ReposGetBranchResponseCommitCommitTree; + url: string; + verification: ReposGetBranchResponseCommitCommitVerification; + }; + type ReposGetBranchResponseCommitAuthor = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; + }; + type ReposGetBranchResponseCommit = { + author: ReposGetBranchResponseCommitAuthor; + commit: ReposGetBranchResponseCommitCommit; + committer: ReposGetBranchResponseCommitCommitter; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposGetBranchResponseLinks = { html: string; self: string }; + type ReposGetBranchResponse = { + _links: ReposGetBranchResponseLinks; + commit: ReposGetBranchResponseCommit; + name: string; + protected: boolean; + protection: ReposGetBranchResponseProtection; + protection_url: string; + }; + type ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposGetAppsWithAccessToProtectedBranchResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposGetAppsWithAccessToProtectedBranchResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseItemOwner; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposGetResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposGetResponseSourceOwner = { + 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; + }; + type ReposGetResponseSource = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposGetResponseSourceOwner; + permissions: ReposGetResponseSourcePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposGetResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposGetResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposGetResponseParentOwner = { + 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; + }; + type ReposGetResponseParent = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposGetResponseParentOwner; + permissions: ReposGetResponseParentPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposGetResponseOwner = { + 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; + }; + type ReposGetResponseOrganization = { + 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; + }; + type ReposGetResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ReposGetResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + license: ReposGetResponseLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + organization: ReposGetResponseOrganization; + owner: ReposGetResponseOwner; + parent: ReposGetResponseParent; + permissions: ReposGetResponsePermissions; + private: boolean; + pulls_url: string; + pushed_at: string; + releases_url: string; + size: number; + source: ReposGetResponseSource; + ssh_url: string; + stargazers_count: number; + stargazers_url: string; + statuses_url: string; + subscribers_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposEnablePagesSiteResponseSource = { + branch: string; + directory: string; + }; + type ReposEnablePagesSiteResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseSource; + status: string; + url: string; + }; + type ReposDeleteFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposDeleteFileResponseCommitTree = { sha: string; url: string }; + type ReposDeleteFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposDeleteFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposDeleteFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposDeleteFileResponseCommit = { + author: ReposDeleteFileResponseCommitAuthor; + committer: ReposDeleteFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposDeleteFileResponseCommitTree; + url: string; + verification: ReposDeleteFileResponseCommitVerification; + }; + type ReposDeleteFileResponse = { + commit: ReposDeleteFileResponseCommit; + content: null; + }; + type ReposDeleteResponse = { documentation_url: string; message: string }; + type ReposCreateUsingTemplateResponseTemplateRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateUsingTemplateResponseTemplateRepositoryOwner = { + 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; + }; + type ReposCreateUsingTemplateResponseTemplateRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateUsingTemplateResponseTemplateRepositoryOwner; + permissions: ReposCreateUsingTemplateResponseTemplateRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposCreateUsingTemplateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateUsingTemplateResponseOwner = { + 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; + }; + type ReposCreateUsingTemplateResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateUsingTemplateResponseOwner; + permissions: ReposCreateUsingTemplateResponsePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: ReposCreateUsingTemplateResponseTemplateRepository; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposCreateStatusResponseCreator = { + 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; + }; + type ReposCreateStatusResponse = { + avatar_url: string; + context: string; + created_at: string; + creator: ReposCreateStatusResponseCreator; + description: string; + id: number; + node_id: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposCreateReleaseResponseAuthor = { + 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; + }; + type ReposCreateReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposCreateReleaseResponseAuthor; + body: string; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + node_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; + url: string; + zipball_url: string; + }; + type ReposCreateOrUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; + }; + type ReposCreateOrUpdateFileResponseContent = { + _links: ReposCreateOrUpdateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposCreateOrUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCreateOrUpdateFileResponseCommitTree = { sha: string; url: string }; + type ReposCreateOrUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposCreateOrUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCreateOrUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCreateOrUpdateFileResponseCommit = { + author: ReposCreateOrUpdateFileResponseCommitAuthor; + committer: ReposCreateOrUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateOrUpdateFileResponseCommitTree; + url: string; + verification: ReposCreateOrUpdateFileResponseCommitVerification; + }; + type ReposCreateOrUpdateFileResponse = { + commit: ReposCreateOrUpdateFileResponseCommit; + content: ReposCreateOrUpdateFileResponseContent; + }; + type ReposCreateInOrgResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateInOrgResponseOwner = { + 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; + }; + type ReposCreateInOrgResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateInOrgResponseOwner; + permissions: ReposCreateInOrgResponsePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposCreateHookResponseLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposCreateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; + }; + type ReposCreateHookResponse = { + active: boolean; + config: ReposCreateHookResponseConfig; + created_at: string; + events: Array; + id: number; + last_response: ReposCreateHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; + type: string; + updated_at: string; + url: string; + }; + type ReposCreateForkResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateForkResponseOwner = { + 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; + }; + type ReposCreateForkResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateForkResponseOwner; + permissions: ReposCreateForkResponsePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposCreateForAuthenticatedUserResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateForAuthenticatedUserResponseOwner = { + 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; + }; + type ReposCreateForAuthenticatedUserResponse = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ReposCreateForAuthenticatedUserResponseOwner; + permissions: ReposCreateForAuthenticatedUserResponsePermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ReposCreateFileResponseContentLinks = { + git: string; + html: string; + self: string; + }; + type ReposCreateFileResponseContent = { + _links: ReposCreateFileResponseContentLinks; + download_url: string; + git_url: string; + html_url: string; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type ReposCreateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCreateFileResponseCommitTree = { sha: string; url: string }; + type ReposCreateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; + }; + type ReposCreateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCreateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCreateFileResponseCommit = { + author: ReposCreateFileResponseCommitAuthor; + committer: ReposCreateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateFileResponseCommitTree; + url: string; + verification: ReposCreateFileResponseCommitVerification; + }; + type ReposCreateFileResponse = { + commit: ReposCreateFileResponseCommit; + content: ReposCreateFileResponseContent; + }; + type ReposCreateDeploymentStatusResponseCreator = { + 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; + }; + type ReposCreateDeploymentStatusResponse = { + created_at: string; + creator: ReposCreateDeploymentStatusResponseCreator; + deployment_url: string; + description: string; + environment: string; + environment_url: string; + id: number; + log_url: string; + node_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; + }; + type ReposCreateDeploymentResponsePayload = { deploy: string }; + type ReposCreateDeploymentResponseCreator = { + 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; + }; + type ReposCreateDeploymentResponse = { + created_at: string; + creator: ReposCreateDeploymentResponseCreator; + description: string; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: ReposCreateDeploymentResponsePayload; + production_environment: boolean; + ref: string; + repository_url: string; + sha: string; + statuses_url: string; + task: string; + transient_environment: boolean; + updated_at: string; + url: string; + }; + type ReposCreateCommitCommentResponseUser = { + 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; + }; + type ReposCreateCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; + html_url: string; + id: number; + line: number; + node_id: string; + path: string; + position: number; + updated_at: string; + url: string; + user: ReposCreateCommitCommentResponseUser; + }; + type ReposCompareCommitsResponseMergeBaseCommitParentsItem = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitter = { + 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; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitTree = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseMergeBaseCommitCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseMergeBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseMergeBaseCommitCommitVerification; + }; + type ReposCompareCommitsResponseMergeBaseCommitAuthor = { + 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; + }; + type ReposCompareCommitsResponseMergeBaseCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseMergeBaseCommitCommit; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposCompareCommitsResponseFilesItem = { + additions: number; + blob_url: string; + changes: number; + contents_url: string; + deletions: number; + filename: string; + patch: string; + raw_url: string; + sha: string; + status: string; + }; + type ReposCompareCommitsResponseCommitsItemParentsItem = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseCommitsItemCommitter = { + 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; + }; + type ReposCompareCommitsResponseCommitsItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCompareCommitsResponseCommitsItemCommitTree = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseCommitsItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseCommitsItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseCommitsItemCommit = { + author: ReposCompareCommitsResponseCommitsItemCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseCommitsItemCommitTree; + url: string; + verification: ReposCompareCommitsResponseCommitsItemCommitVerification; + }; + type ReposCompareCommitsResponseCommitsItemAuthor = { + 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; + }; + type ReposCompareCommitsResponseCommitsItem = { + author: ReposCompareCommitsResponseCommitsItemAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseCommitsItemCommit; + committer: ReposCompareCommitsResponseCommitsItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommitParentsItem = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommitCommitter = { + 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; + }; + type ReposCompareCommitsResponseBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type ReposCompareCommitsResponseBaseCommitCommitTree = { + sha: string; + url: string; + }; + type ReposCompareCommitsResponseBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCompareCommitsResponseBaseCommitCommit = { + author: ReposCompareCommitsResponseBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseBaseCommitCommitVerification; + }; + type ReposCompareCommitsResponseBaseCommitAuthor = { + 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; + }; + type ReposCompareCommitsResponseBaseCommit = { + author: ReposCompareCommitsResponseBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseBaseCommitCommit; + committer: ReposCompareCommitsResponseBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type ReposCompareCommitsResponse = { + ahead_by: number; + base_commit: ReposCompareCommitsResponseBaseCommit; + behind_by: number; + commits: Array; + diff_url: string; + files: Array; + html_url: string; + merge_base_commit: ReposCompareCommitsResponseMergeBaseCommit; + patch_url: string; + permalink_url: string; + status: string; + total_commits: number; + url: string; + }; + type ReposAddProtectedBranchUserRestrictionsResponseItem = { + 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; + }; + type ReposAddProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type ReposAddProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; + }; + type ReposAddProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposAddProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ReposAddProtectedBranchAppRestrictionsResponseItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseItemOwner; + permissions: ReposAddProtectedBranchAppRestrictionsResponseItemPermissions; + slug: string; + updated_at: string; + }; + type ReposAddProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; + }; + type ReposAddDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; + }; + type ReposAddCollaboratorResponseRepositoryOwner = { + 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; + }; + type ReposAddCollaboratorResponseRepository = { + 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; + 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; + git_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: ReposAddCollaboratorResponseRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ReposAddCollaboratorResponseInviter = { + 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; + }; + type ReposAddCollaboratorResponseInvitee = { + 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; + }; + type ReposAddCollaboratorResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposAddCollaboratorResponseInvitee; + inviter: ReposAddCollaboratorResponseInviter; + permissions: string; + repository: ReposAddCollaboratorResponseRepository; + url: string; + }; + type ReactionsListForTeamDiscussionCommentResponseItemUser = { + 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; + }; + type ReactionsListForTeamDiscussionCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentResponseItemUser; + }; + type ReactionsListForTeamDiscussionResponseItemUser = { + 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; + }; + type ReactionsListForTeamDiscussionResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionResponseItemUser; + }; + type ReactionsListForPullRequestReviewCommentResponseItemUser = { + 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; + }; + type ReactionsListForPullRequestReviewCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseItemUser; + }; + type ReactionsListForIssueCommentResponseItemUser = { + 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; + }; + type ReactionsListForIssueCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseItemUser; + }; + type ReactionsListForIssueResponseItemUser = { + 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; + }; + type ReactionsListForIssueResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueResponseItemUser; + }; + type ReactionsListForCommitCommentResponseItemUser = { + 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; + }; + type ReactionsListForCommitCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseItemUser; + }; + type ReactionsCreateForTeamDiscussionCommentResponseUser = { + 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; + }; + type ReactionsCreateForTeamDiscussionCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentResponseUser; + }; + type ReactionsCreateForTeamDiscussionResponseUser = { + 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; + }; + type ReactionsCreateForTeamDiscussionResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionResponseUser; + }; + type ReactionsCreateForPullRequestReviewCommentResponseUser = { + 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; + }; + type ReactionsCreateForPullRequestReviewCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseUser; + }; + type ReactionsCreateForIssueCommentResponseUser = { + 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; + }; + type ReactionsCreateForIssueCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseUser; + }; + type ReactionsCreateForIssueResponseUser = { + 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; + }; + type ReactionsCreateForIssueResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseUser; + }; + type ReactionsCreateForCommitCommentResponseUser = { + 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; + }; + type ReactionsCreateForCommitCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseUser; + }; + type RateLimitGetResponseResourcesSearch = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResourcesGraphql = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResourcesCore = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponseResources = { + core: RateLimitGetResponseResourcesCore; + graphql: RateLimitGetResponseResourcesGraphql; + integration_manifest: RateLimitGetResponseResourcesIntegrationManifest; + search: RateLimitGetResponseResourcesSearch; + }; + type RateLimitGetResponseRate = { + limit: number; + remaining: number; + reset: number; + }; + type RateLimitGetResponse = { + rate: RateLimitGetResponseRate; + resources: RateLimitGetResponseResources; + }; + type PullsUpdateReviewResponseUser = { + 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; + }; + type PullsUpdateReviewResponseLinksPullRequest = { href: string }; + type PullsUpdateReviewResponseLinksHtml = { href: string }; + type PullsUpdateReviewResponseLinks = { + html: PullsUpdateReviewResponseLinksHtml; + pull_request: PullsUpdateReviewResponseLinksPullRequest; + }; + type PullsUpdateReviewResponse = { + _links: PullsUpdateReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsUpdateReviewResponseUser; + }; + type PullsUpdateCommentResponseUser = { + 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; + }; + type PullsUpdateCommentResponseLinksSelf = { href: string }; + type PullsUpdateCommentResponseLinksPullRequest = { href: string }; + type PullsUpdateCommentResponseLinksHtml = { href: string }; + type PullsUpdateCommentResponseLinks = { + html: PullsUpdateCommentResponseLinksHtml; + pull_request: PullsUpdateCommentResponseLinksPullRequest; + self: PullsUpdateCommentResponseLinksSelf; + }; + type PullsUpdateCommentResponse = { + _links: PullsUpdateCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsUpdateCommentResponseUser; + }; + type PullsUpdateBranchResponse = { message: string; url: string }; + type PullsUpdateResponseUser = { + 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; + }; + type PullsUpdateResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsUpdateResponseRequestedReviewersItem = { + 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; + }; + type PullsUpdateResponseMilestoneCreator = { + 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; + }; + type PullsUpdateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsUpdateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsUpdateResponseMergedBy = { + 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; + }; + type PullsUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsUpdateResponseHeadUser = { + 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; + }; + type PullsUpdateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsUpdateResponseHeadRepoOwner = { + 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; + }; + type PullsUpdateResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsUpdateResponseHeadRepoOwner; + permissions: PullsUpdateResponseHeadRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsUpdateResponseHead = { + label: string; + ref: string; + repo: PullsUpdateResponseHeadRepo; + sha: string; + user: PullsUpdateResponseHeadUser; + }; + type PullsUpdateResponseBaseUser = { + 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; + }; + type PullsUpdateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsUpdateResponseBaseRepoOwner = { + 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; + }; + type PullsUpdateResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsUpdateResponseBaseRepoOwner; + permissions: PullsUpdateResponseBaseRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsUpdateResponseBase = { + label: string; + ref: string; + repo: PullsUpdateResponseBaseRepo; + sha: string; + user: PullsUpdateResponseBaseUser; + }; + type PullsUpdateResponseAssigneesItem = { + 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; + }; + type PullsUpdateResponseAssignee = { + 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; + }; + type PullsUpdateResponseLinksStatuses = { href: string }; + type PullsUpdateResponseLinksSelf = { href: string }; + type PullsUpdateResponseLinksReviewComments = { href: string }; + type PullsUpdateResponseLinksReviewComment = { href: string }; + type PullsUpdateResponseLinksIssue = { href: string }; + type PullsUpdateResponseLinksHtml = { href: string }; + type PullsUpdateResponseLinksCommits = { href: string }; + type PullsUpdateResponseLinksComments = { href: string }; + type PullsUpdateResponseLinks = { + comments: PullsUpdateResponseLinksComments; + commits: PullsUpdateResponseLinksCommits; + html: PullsUpdateResponseLinksHtml; + issue: PullsUpdateResponseLinksIssue; + review_comment: PullsUpdateResponseLinksReviewComment; + review_comments: PullsUpdateResponseLinksReviewComments; + self: PullsUpdateResponseLinksSelf; + statuses: PullsUpdateResponseLinksStatuses; + }; + type PullsUpdateResponse = { + _links: PullsUpdateResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsUpdateResponseAssignee; + assignees: Array; + author_association: string; + base: PullsUpdateResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsUpdateResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsUpdateResponseMergedBy; + milestone: PullsUpdateResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsUpdateResponseUser; + }; + type PullsSubmitReviewResponseUser = { + 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; + }; + type PullsSubmitReviewResponseLinksPullRequest = { href: string }; + type PullsSubmitReviewResponseLinksHtml = { href: string }; + type PullsSubmitReviewResponseLinks = { + html: PullsSubmitReviewResponseLinksHtml; + pull_request: PullsSubmitReviewResponseLinksPullRequest; + }; + type PullsSubmitReviewResponse = { + _links: PullsSubmitReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsSubmitReviewResponseUser; + }; + type PullsMergeResponse = { merged: boolean; message: string; sha: string }; + type PullsListReviewsResponseItemUser = { + 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; + }; + type PullsListReviewsResponseItemLinksPullRequest = { href: string }; + type PullsListReviewsResponseItemLinksHtml = { href: string }; + type PullsListReviewsResponseItemLinks = { + html: PullsListReviewsResponseItemLinksHtml; + pull_request: PullsListReviewsResponseItemLinksPullRequest; + }; + type PullsListReviewsResponseItem = { + _links: PullsListReviewsResponseItemLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsListReviewsResponseItemUser; + }; + type PullsListReviewRequestsResponseUsersItem = { + 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; + }; + type PullsListReviewRequestsResponseTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsListReviewRequestsResponse = { + teams: Array; + users: Array; + }; + type PullsListFilesResponseItem = { + additions: number; + blob_url: string; + changes: number; + contents_url: string; + deletions: number; + filename: string; + patch: string; + raw_url: string; + sha: string; + status: string; + }; + type PullsListCommitsResponseItemParentsItem = { sha: string; url: string }; + type PullsListCommitsResponseItemCommitter = { + 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; + }; + type PullsListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type PullsListCommitsResponseItemCommitTree = { sha: string; url: string }; + type PullsListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; + }; + type PullsListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; + }; + type PullsListCommitsResponseItemCommit = { + author: PullsListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: PullsListCommitsResponseItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseItemCommitTree; + url: string; + verification: PullsListCommitsResponseItemCommitVerification; + }; + type PullsListCommitsResponseItemAuthor = { + 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; + }; + type PullsListCommitsResponseItem = { + author: PullsListCommitsResponseItemAuthor; + comments_url: string; + commit: PullsListCommitsResponseItemCommit; + committer: PullsListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; + }; + type PullsListCommentsForRepoResponseItemUser = { + 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; + }; + type PullsListCommentsForRepoResponseItemLinksSelf = { href: string }; + type PullsListCommentsForRepoResponseItemLinksPullRequest = { href: string }; + type PullsListCommentsForRepoResponseItemLinksHtml = { href: string }; + type PullsListCommentsForRepoResponseItemLinks = { + html: PullsListCommentsForRepoResponseItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseItemLinksPullRequest; + self: PullsListCommentsForRepoResponseItemLinksSelf; + }; + type PullsListCommentsForRepoResponseItem = { + _links: PullsListCommentsForRepoResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsListCommentsForRepoResponseItemUser; + }; + type PullsListCommentsResponseItemUser = { + 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; + }; + type PullsListCommentsResponseItemLinksSelf = { href: string }; + type PullsListCommentsResponseItemLinksPullRequest = { href: string }; + type PullsListCommentsResponseItemLinksHtml = { href: string }; + type PullsListCommentsResponseItemLinks = { + html: PullsListCommentsResponseItemLinksHtml; + pull_request: PullsListCommentsResponseItemLinksPullRequest; + self: PullsListCommentsResponseItemLinksSelf; + }; + type PullsListCommentsResponseItem = { + _links: PullsListCommentsResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsListCommentsResponseItemUser; + }; + type PullsListResponseItemUser = { + 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; + }; + type PullsListResponseItemRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsListResponseItemRequestedReviewersItem = { + 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; + }; + type PullsListResponseItemMilestoneCreator = { + 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; + }; + type PullsListResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsListResponseItemHeadUser = { + 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; + }; + type PullsListResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsListResponseItemHeadRepoOwner = { + 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; + }; + type PullsListResponseItemHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsListResponseItemHeadRepoOwner; + permissions: PullsListResponseItemHeadRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsListResponseItemHead = { + label: string; + ref: string; + repo: PullsListResponseItemHeadRepo; + sha: string; + user: PullsListResponseItemHeadUser; + }; + type PullsListResponseItemBaseUser = { + 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; + }; + type PullsListResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsListResponseItemBaseRepoOwner = { + 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; + }; + type PullsListResponseItemBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsListResponseItemBaseRepoOwner; + permissions: PullsListResponseItemBaseRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsListResponseItemBase = { + label: string; + ref: string; + repo: PullsListResponseItemBaseRepo; + sha: string; + user: PullsListResponseItemBaseUser; + }; + type PullsListResponseItemAssigneesItem = { + 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; + }; + type PullsListResponseItemAssignee = { + 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; + }; + type PullsListResponseItemLinksStatuses = { href: string }; + type PullsListResponseItemLinksSelf = { href: string }; + type PullsListResponseItemLinksReviewComments = { href: string }; + type PullsListResponseItemLinksReviewComment = { href: string }; + type PullsListResponseItemLinksIssue = { href: string }; + type PullsListResponseItemLinksHtml = { href: string }; + type PullsListResponseItemLinksCommits = { href: string }; + type PullsListResponseItemLinksComments = { href: string }; + type PullsListResponseItemLinks = { + comments: PullsListResponseItemLinksComments; + commits: PullsListResponseItemLinksCommits; + html: PullsListResponseItemLinksHtml; + issue: PullsListResponseItemLinksIssue; + review_comment: PullsListResponseItemLinksReviewComment; + review_comments: PullsListResponseItemLinksReviewComments; + self: PullsListResponseItemLinksSelf; + statuses: PullsListResponseItemLinksStatuses; + }; + type PullsListResponseItem = { + _links: PullsListResponseItemLinks; + active_lock_reason: string; + assignee: PullsListResponseItemAssignee; + assignees: Array; + author_association: string; + base: PullsListResponseItemBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: PullsListResponseItemHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: PullsListResponseItemMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsListResponseItemUser; + }; + type PullsGetReviewResponseUser = { + 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; + }; + type PullsGetReviewResponseLinksPullRequest = { href: string }; + type PullsGetReviewResponseLinksHtml = { href: string }; + type PullsGetReviewResponseLinks = { + html: PullsGetReviewResponseLinksHtml; + pull_request: PullsGetReviewResponseLinksPullRequest; + }; + type PullsGetReviewResponse = { + _links: PullsGetReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsGetReviewResponseUser; + }; + type PullsGetCommentsForReviewResponseItemUser = { + 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; + }; + type PullsGetCommentsForReviewResponseItemLinksSelf = { href: string }; + type PullsGetCommentsForReviewResponseItemLinksPullRequest = { href: string }; + type PullsGetCommentsForReviewResponseItemLinksHtml = { href: string }; + type PullsGetCommentsForReviewResponseItemLinks = { + html: PullsGetCommentsForReviewResponseItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseItemLinksPullRequest; + self: PullsGetCommentsForReviewResponseItemLinksSelf; + }; + type PullsGetCommentsForReviewResponseItem = { + _links: PullsGetCommentsForReviewResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + node_id: string; + original_commit_id: string; + original_position: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + updated_at: string; + url: string; + user: PullsGetCommentsForReviewResponseItemUser; + }; + type PullsGetCommentResponseUser = { + 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; + }; + type PullsGetCommentResponseLinksSelf = { href: string }; + type PullsGetCommentResponseLinksPullRequest = { href: string }; + type PullsGetCommentResponseLinksHtml = { href: string }; + type PullsGetCommentResponseLinks = { + html: PullsGetCommentResponseLinksHtml; + pull_request: PullsGetCommentResponseLinksPullRequest; + self: PullsGetCommentResponseLinksSelf; + }; + type PullsGetCommentResponse = { + _links: PullsGetCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsGetCommentResponseUser; + }; + type PullsGetResponseUser = { + 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; + }; + type PullsGetResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsGetResponseRequestedReviewersItem = { + 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; + }; + type PullsGetResponseMilestoneCreator = { + 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; + }; + type PullsGetResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsGetResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsGetResponseMergedBy = { + 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; + }; + type PullsGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsGetResponseHeadUser = { + 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; + }; + type PullsGetResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsGetResponseHeadRepoOwner = { + 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; + }; + type PullsGetResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsGetResponseHeadRepoOwner; + permissions: PullsGetResponseHeadRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsGetResponseHead = { + label: string; + ref: string; + repo: PullsGetResponseHeadRepo; + sha: string; + user: PullsGetResponseHeadUser; + }; + type PullsGetResponseBaseUser = { + 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; + }; + type PullsGetResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsGetResponseBaseRepoOwner = { + 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; + }; + type PullsGetResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsGetResponseBaseRepoOwner; + permissions: PullsGetResponseBaseRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsGetResponseBase = { + label: string; + ref: string; + repo: PullsGetResponseBaseRepo; + sha: string; + user: PullsGetResponseBaseUser; + }; + type PullsGetResponseAssigneesItem = { + 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; + }; + type PullsGetResponseAssignee = { + 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; + }; + type PullsGetResponseLinksStatuses = { href: string }; + type PullsGetResponseLinksSelf = { href: string }; + type PullsGetResponseLinksReviewComments = { href: string }; + type PullsGetResponseLinksReviewComment = { href: string }; + type PullsGetResponseLinksIssue = { href: string }; + type PullsGetResponseLinksHtml = { href: string }; + type PullsGetResponseLinksCommits = { href: string }; + type PullsGetResponseLinksComments = { href: string }; + type PullsGetResponseLinks = { + comments: PullsGetResponseLinksComments; + commits: PullsGetResponseLinksCommits; + html: PullsGetResponseLinksHtml; + issue: PullsGetResponseLinksIssue; + review_comment: PullsGetResponseLinksReviewComment; + review_comments: PullsGetResponseLinksReviewComments; + self: PullsGetResponseLinksSelf; + statuses: PullsGetResponseLinksStatuses; + }; + type PullsGetResponse = { + _links: PullsGetResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsGetResponseAssignee; + assignees: Array; + author_association: string; + base: PullsGetResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsGetResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsGetResponseMergedBy; + milestone: PullsGetResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsGetResponseUser; + }; + type PullsDismissReviewResponseUser = { + 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; + }; + type PullsDismissReviewResponseLinksPullRequest = { href: string }; + type PullsDismissReviewResponseLinksHtml = { href: string }; + type PullsDismissReviewResponseLinks = { + html: PullsDismissReviewResponseLinksHtml; + pull_request: PullsDismissReviewResponseLinksPullRequest; + }; + type PullsDismissReviewResponse = { + _links: PullsDismissReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsDismissReviewResponseUser; + }; + type PullsDeletePendingReviewResponseUser = { + 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; + }; + type PullsDeletePendingReviewResponseLinksPullRequest = { href: string }; + type PullsDeletePendingReviewResponseLinksHtml = { href: string }; + type PullsDeletePendingReviewResponseLinks = { + html: PullsDeletePendingReviewResponseLinksHtml; + pull_request: PullsDeletePendingReviewResponseLinksPullRequest; + }; + type PullsDeletePendingReviewResponse = { + _links: PullsDeletePendingReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsDeletePendingReviewResponseUser; + }; + type PullsCreateReviewRequestResponseUser = { + 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; + }; + type PullsCreateReviewRequestResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsCreateReviewRequestResponseRequestedReviewersItem = { + 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; + }; + type PullsCreateReviewRequestResponseMilestoneCreator = { + 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; + }; + type PullsCreateReviewRequestResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateReviewRequestResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsCreateReviewRequestResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsCreateReviewRequestResponseHeadUser = { + 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; + }; + type PullsCreateReviewRequestResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateReviewRequestResponseHeadRepoOwner = { + 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; + }; + type PullsCreateReviewRequestResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateReviewRequestResponseHeadRepoOwner; + permissions: PullsCreateReviewRequestResponseHeadRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsCreateReviewRequestResponseHead = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseHeadRepo; + sha: string; + user: PullsCreateReviewRequestResponseHeadUser; + }; + type PullsCreateReviewRequestResponseBaseUser = { + 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; + }; + type PullsCreateReviewRequestResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateReviewRequestResponseBaseRepoOwner = { + 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; + }; + type PullsCreateReviewRequestResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateReviewRequestResponseBaseRepoOwner; + permissions: PullsCreateReviewRequestResponseBaseRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsCreateReviewRequestResponseBase = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseBaseRepo; + sha: string; + user: PullsCreateReviewRequestResponseBaseUser; + }; + type PullsCreateReviewRequestResponseAssigneesItem = { + 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; + }; + type PullsCreateReviewRequestResponseAssignee = { + 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; + }; + type PullsCreateReviewRequestResponseLinksStatuses = { href: string }; + type PullsCreateReviewRequestResponseLinksSelf = { href: string }; + type PullsCreateReviewRequestResponseLinksReviewComments = { href: string }; + type PullsCreateReviewRequestResponseLinksReviewComment = { href: string }; + type PullsCreateReviewRequestResponseLinksIssue = { href: string }; + type PullsCreateReviewRequestResponseLinksHtml = { href: string }; + type PullsCreateReviewRequestResponseLinksCommits = { href: string }; + type PullsCreateReviewRequestResponseLinksComments = { href: string }; + type PullsCreateReviewRequestResponseLinks = { + comments: PullsCreateReviewRequestResponseLinksComments; + commits: PullsCreateReviewRequestResponseLinksCommits; + html: PullsCreateReviewRequestResponseLinksHtml; + issue: PullsCreateReviewRequestResponseLinksIssue; + review_comment: PullsCreateReviewRequestResponseLinksReviewComment; + review_comments: PullsCreateReviewRequestResponseLinksReviewComments; + self: PullsCreateReviewRequestResponseLinksSelf; + statuses: PullsCreateReviewRequestResponseLinksStatuses; + }; + type PullsCreateReviewRequestResponse = { + _links: PullsCreateReviewRequestResponseLinks; + active_lock_reason: string; + assignee: PullsCreateReviewRequestResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateReviewRequestResponseBase; + body: string; + closed_at: string; + comments_url: string; + commits_url: string; + created_at: string; + diff_url: string; + draft: boolean; + head: PullsCreateReviewRequestResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: PullsCreateReviewRequestResponseMilestone; + node_id: string; + number: number; + patch_url: string; + requested_reviewers: Array< + PullsCreateReviewRequestResponseRequestedReviewersItem + >; + requested_teams: Array; + review_comment_url: string; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateReviewRequestResponseUser; + }; + type PullsCreateReviewCommentReplyResponseUser = { + 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; + }; + type PullsCreateReviewCommentReplyResponseLinksSelf = { href: string }; + type PullsCreateReviewCommentReplyResponseLinksPullRequest = { href: string }; + type PullsCreateReviewCommentReplyResponseLinksHtml = { href: string }; + type PullsCreateReviewCommentReplyResponseLinks = { + html: PullsCreateReviewCommentReplyResponseLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseLinksPullRequest; + self: PullsCreateReviewCommentReplyResponseLinksSelf; + }; + type PullsCreateReviewCommentReplyResponse = { + _links: PullsCreateReviewCommentReplyResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + node_id: string; + original_commit_id: string; + original_position: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + updated_at: string; + url: string; + user: PullsCreateReviewCommentReplyResponseUser; + }; + type PullsCreateReviewResponseUser = { + 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; + }; + type PullsCreateReviewResponseLinksPullRequest = { href: string }; + type PullsCreateReviewResponseLinksHtml = { href: string }; + type PullsCreateReviewResponseLinks = { + html: PullsCreateReviewResponseLinksHtml; + pull_request: PullsCreateReviewResponseLinksPullRequest; + }; + type PullsCreateReviewResponse = { + _links: PullsCreateReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + user: PullsCreateReviewResponseUser; + }; + type PullsCreateFromIssueResponseUser = { + 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; + }; + type PullsCreateFromIssueResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsCreateFromIssueResponseRequestedReviewersItem = { + 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; + }; + type PullsCreateFromIssueResponseMilestoneCreator = { + 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; + }; + type PullsCreateFromIssueResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateFromIssueResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsCreateFromIssueResponseMergedBy = { + 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; + }; + type PullsCreateFromIssueResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsCreateFromIssueResponseHeadUser = { + 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; + }; + type PullsCreateFromIssueResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateFromIssueResponseHeadRepoOwner = { + 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; + }; + type PullsCreateFromIssueResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateFromIssueResponseHeadRepoOwner; + permissions: PullsCreateFromIssueResponseHeadRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsCreateFromIssueResponseHead = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseHeadRepo; + sha: string; + user: PullsCreateFromIssueResponseHeadUser; + }; + type PullsCreateFromIssueResponseBaseUser = { + 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; + }; + type PullsCreateFromIssueResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateFromIssueResponseBaseRepoOwner = { + 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; + }; + type PullsCreateFromIssueResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateFromIssueResponseBaseRepoOwner; + permissions: PullsCreateFromIssueResponseBaseRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsCreateFromIssueResponseBase = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseBaseRepo; + sha: string; + user: PullsCreateFromIssueResponseBaseUser; + }; + type PullsCreateFromIssueResponseAssigneesItem = { + 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; + }; + type PullsCreateFromIssueResponseAssignee = { + 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; + }; + type PullsCreateFromIssueResponseLinksStatuses = { href: string }; + type PullsCreateFromIssueResponseLinksSelf = { href: string }; + type PullsCreateFromIssueResponseLinksReviewComments = { href: string }; + type PullsCreateFromIssueResponseLinksReviewComment = { href: string }; + type PullsCreateFromIssueResponseLinksIssue = { href: string }; + type PullsCreateFromIssueResponseLinksHtml = { href: string }; + type PullsCreateFromIssueResponseLinksCommits = { href: string }; + type PullsCreateFromIssueResponseLinksComments = { href: string }; + type PullsCreateFromIssueResponseLinks = { + comments: PullsCreateFromIssueResponseLinksComments; + commits: PullsCreateFromIssueResponseLinksCommits; + html: PullsCreateFromIssueResponseLinksHtml; + issue: PullsCreateFromIssueResponseLinksIssue; + review_comment: PullsCreateFromIssueResponseLinksReviewComment; + review_comments: PullsCreateFromIssueResponseLinksReviewComments; + self: PullsCreateFromIssueResponseLinksSelf; + statuses: PullsCreateFromIssueResponseLinksStatuses; + }; + type PullsCreateFromIssueResponse = { + _links: PullsCreateFromIssueResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsCreateFromIssueResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateFromIssueResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsCreateFromIssueResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsCreateFromIssueResponseMergedBy; + milestone: PullsCreateFromIssueResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array< + PullsCreateFromIssueResponseRequestedReviewersItem + >; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateFromIssueResponseUser; + }; + type PullsCreateCommentReplyResponseUser = { + 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; + }; + type PullsCreateCommentReplyResponseLinksSelf = { href: string }; + type PullsCreateCommentReplyResponseLinksPullRequest = { href: string }; + type PullsCreateCommentReplyResponseLinksHtml = { href: string }; + type PullsCreateCommentReplyResponseLinks = { + html: PullsCreateCommentReplyResponseLinksHtml; + pull_request: PullsCreateCommentReplyResponseLinksPullRequest; + self: PullsCreateCommentReplyResponseLinksSelf; + }; + type PullsCreateCommentReplyResponse = { + _links: PullsCreateCommentReplyResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsCreateCommentReplyResponseUser; + }; + type PullsCreateCommentResponseUser = { + 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; + }; + type PullsCreateCommentResponseLinksSelf = { href: string }; + type PullsCreateCommentResponseLinksPullRequest = { href: string }; + type PullsCreateCommentResponseLinksHtml = { href: string }; + type PullsCreateCommentResponseLinks = { + html: PullsCreateCommentResponseLinksHtml; + pull_request: PullsCreateCommentResponseLinksPullRequest; + self: PullsCreateCommentResponseLinksSelf; + }; + type PullsCreateCommentResponse = { + _links: PullsCreateCommentResponseLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; + html_url: string; + id: number; + in_reply_to_id: number; + line: number; + node_id: string; + original_commit_id: string; + original_line: number; + original_position: number; + original_start_line: number; + path: string; + position: number; + pull_request_review_id: number; + pull_request_url: string; + side: string; + start_line: number; + start_side: string; + updated_at: string; + url: string; + user: PullsCreateCommentResponseUser; + }; + type PullsCreateResponseUser = { + 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; + }; + type PullsCreateResponseRequestedTeamsItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type PullsCreateResponseRequestedReviewersItem = { + 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; + }; + type PullsCreateResponseMilestoneCreator = { + 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; + }; + type PullsCreateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type PullsCreateResponseMergedBy = { + 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; + }; + type PullsCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type PullsCreateResponseHeadUser = { + 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; + }; + type PullsCreateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateResponseHeadRepoOwner = { + 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; + }; + type PullsCreateResponseHeadRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateResponseHeadRepoOwner; + permissions: PullsCreateResponseHeadRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsCreateResponseHead = { + label: string; + ref: string; + repo: PullsCreateResponseHeadRepo; + sha: string; + user: PullsCreateResponseHeadUser; + }; + type PullsCreateResponseBaseUser = { + 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; + }; + type PullsCreateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateResponseBaseRepoOwner = { + 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; + }; + type PullsCreateResponseBaseRepo = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: PullsCreateResponseBaseRepoOwner; + permissions: PullsCreateResponseBaseRepoPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type PullsCreateResponseBase = { + label: string; + ref: string; + repo: PullsCreateResponseBaseRepo; + sha: string; + user: PullsCreateResponseBaseUser; + }; + type PullsCreateResponseAssigneesItem = { + 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; + }; + type PullsCreateResponseAssignee = { + 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; + }; + type PullsCreateResponseLinksStatuses = { href: string }; + type PullsCreateResponseLinksSelf = { href: string }; + type PullsCreateResponseLinksReviewComments = { href: string }; + type PullsCreateResponseLinksReviewComment = { href: string }; + type PullsCreateResponseLinksIssue = { href: string }; + type PullsCreateResponseLinksHtml = { href: string }; + type PullsCreateResponseLinksCommits = { href: string }; + type PullsCreateResponseLinksComments = { href: string }; + type PullsCreateResponseLinks = { + comments: PullsCreateResponseLinksComments; + commits: PullsCreateResponseLinksCommits; + html: PullsCreateResponseLinksHtml; + issue: PullsCreateResponseLinksIssue; + review_comment: PullsCreateResponseLinksReviewComment; + review_comments: PullsCreateResponseLinksReviewComments; + self: PullsCreateResponseLinksSelf; + statuses: PullsCreateResponseLinksStatuses; + }; + type PullsCreateResponse = { + _links: PullsCreateResponseLinks; + active_lock_reason: string; + additions: number; + assignee: PullsCreateResponseAssignee; + assignees: Array; + author_association: string; + base: PullsCreateResponseBase; + body: string; + changed_files: number; + closed_at: string; + comments: number; + comments_url: string; + commits: number; + commits_url: string; + created_at: string; + deletions: number; + diff_url: string; + draft: boolean; + head: PullsCreateResponseHead; + html_url: string; + id: number; + issue_url: string; + labels: Array; + locked: boolean; + maintainer_can_modify: boolean; + merge_commit_sha: string; + mergeable: boolean; + mergeable_state: string; + merged: boolean; + merged_at: string; + merged_by: PullsCreateResponseMergedBy; + milestone: PullsCreateResponseMilestone; + node_id: string; + number: number; + patch_url: string; + rebaseable: boolean; + requested_reviewers: Array; + requested_teams: Array; + review_comment_url: string; + review_comments: number; + review_comments_url: string; + state: string; + statuses_url: string; + title: string; + updated_at: string; + url: string; + user: PullsCreateResponseUser; + }; + type ProjectsUpdateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsUpdateCardResponseCreator = { + 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; + }; + type ProjectsUpdateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsUpdateCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsUpdateResponseCreator = { + 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; + }; + type ProjectsUpdateResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsUpdateResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsReviewUserPermissionLevelResponseUser = { + 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; + }; + type ProjectsReviewUserPermissionLevelResponse = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseUser; + }; + type ProjectsListForUserResponseItemCreator = { + 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; + }; + type ProjectsListForUserResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForUserResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsListForRepoResponseItemCreator = { + 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; + }; + type ProjectsListForRepoResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForRepoResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsListForOrgResponseItemCreator = { + 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; + }; + type ProjectsListForOrgResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForOrgResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsListColumnsResponseItem = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsListCollaboratorsResponseItem = { + 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; + }; + type ProjectsListCardsResponseItemCreator = { + 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; + }; + type ProjectsListCardsResponseItem = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsListCardsResponseItemCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsGetColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsGetCardResponseCreator = { + 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; + }; + type ProjectsGetCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsGetCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsGetResponseCreator = { + 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; + }; + type ProjectsGetResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsGetResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateForRepoResponseCreator = { + 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; + }; + type ProjectsCreateForRepoResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForRepoResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateForOrgResponseCreator = { + 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; + }; + type ProjectsCreateForOrgResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForOrgResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateForAuthenticatedUserResponseCreator = { + 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; + }; + type ProjectsCreateForAuthenticatedUserResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForAuthenticatedUserResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; + url: string; + }; + type ProjectsCreateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; + }; + type ProjectsCreateCardResponseCreator = { + 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; + }; + type ProjectsCreateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsCreateCardResponseCreator; + id: number; + node_id: string; + note: string; + project_url: string; + updated_at: string; + url: string; + }; + type OrgsUpdateMembershipResponseUser = { + 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; + }; + type OrgsUpdateMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsUpdateMembershipResponse = { + organization: OrgsUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsUpdateMembershipResponseUser; + }; + type OrgsUpdateHookResponseConfig = { content_type: string; url: string }; + type OrgsUpdateHookResponse = { + active: boolean; + config: OrgsUpdateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsUpdateResponsePlan = { + name: string; + private_repos: number; + space: number; + }; + type OrgsUpdateResponse = { + avatar_url: string; + billing_email: string; + blog: string; + collaborators: number; + company: string; + created_at: string; + default_repository_settings: string; + description: string; + disk_usage: number; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_allowed_repository_creation_type: string; + members_can_create_repositories: boolean; + members_url: string; + name: string; + node_id: string; + owned_private_repos: number; + plan: OrgsUpdateResponsePlan; + private_gists: number; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + total_private_repos: number; + two_factor_requirement_enabled: boolean; + type: string; + url: string; + }; + type OrgsRemoveOutsideCollaboratorResponse = { + documentation_url: string; + message: string; + }; + type OrgsListPublicMembersResponseItem = { + 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; + }; + type OrgsListPendingInvitationsResponseItemInviter = { + 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; + }; + type OrgsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type OrgsListOutsideCollaboratorsResponseItem = { + 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; + }; + type OrgsListMembershipsResponseItemUser = { + 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; + }; + type OrgsListMembershipsResponseItemOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsListMembershipsResponseItem = { + organization: OrgsListMembershipsResponseItemOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsListMembershipsResponseItemUser; + }; + type OrgsListMembersResponseItem = { + 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; + }; + type OrgsListInvitationTeamsResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; + }; + type OrgsListInstallationsResponseInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; + }; + type OrgsListInstallationsResponseInstallationsItemAccount = { + 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; + }; + type OrgsListInstallationsResponseInstallationsItem = { + access_tokens_url: string; + account: OrgsListInstallationsResponseInstallationsItemAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: OrgsListInstallationsResponseInstallationsItemPermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type OrgsListInstallationsResponse = { + installations: Array; + total_count: number; + }; + type OrgsListHooksResponseItemConfig = { content_type: string; url: string }; + type OrgsListHooksResponseItem = { + active: boolean; + config: OrgsListHooksResponseItemConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsListForUserResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsListForAuthenticatedUserResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsListBlockedUsersResponseItem = { + 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; + }; + type OrgsListResponseItem = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsGetMembershipForAuthenticatedUserResponseUser = { + 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; + }; + type OrgsGetMembershipForAuthenticatedUserResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsGetMembershipForAuthenticatedUserResponse = { + organization: OrgsGetMembershipForAuthenticatedUserResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipForAuthenticatedUserResponseUser; + }; + type OrgsGetMembershipResponseUser = { + 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; + }; + type OrgsGetMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsGetMembershipResponse = { + organization: OrgsGetMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipResponseUser; + }; + type OrgsGetHookResponseConfig = { content_type: string; url: string }; + type OrgsGetHookResponse = { + active: boolean; + config: OrgsGetHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsGetResponsePlan = { + name: string; + private_repos: number; + space: number; + filled_seats?: number; + seats?: number; + }; + type OrgsGetResponse = { + avatar_url: string; + billing_email?: string; + blog: string; + collaborators?: number; + company: string; + created_at: string; + default_repository_settings?: string; + description: string; + disk_usage?: number; + email: string; + events_url: string; + followers: number; + following: number; + has_organization_projects: boolean; + has_repository_projects: boolean; + hooks_url: string; + html_url: string; + id: number; + is_verified: boolean; + issues_url: string; + location: string; + login: string; + members_allowed_repository_creation_type?: string; + members_can_create_repositories?: boolean; + members_url: string; + name: string; + node_id: string; + owned_private_repos?: number; + plan: OrgsGetResponsePlan; + private_gists?: number; + public_gists: number; + public_members_url: string; + public_repos: number; + repos_url: string; + total_private_repos?: number; + two_factor_requirement_enabled?: boolean; + type: string; + url: string; + }; + type OrgsCreateInvitationResponseInviter = { + 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; + }; + type OrgsCreateInvitationResponse = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsCreateInvitationResponseInviter; + login: string; + role: string; + team_count: number; + }; + type OrgsCreateHookResponseConfig = { content_type: string; url: string }; + type OrgsCreateHookResponse = { + active: boolean; + config: OrgsCreateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; + }; + type OrgsConvertMemberToOutsideCollaboratorResponse = { + documentation_url: string; + message: string; + }; + type OrgsAddOrUpdateMembershipResponseUser = { + 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; + }; + type OrgsAddOrUpdateMembershipResponseOrganization = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsAddOrUpdateMembershipResponse = { + organization: OrgsAddOrUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsAddOrUpdateMembershipResponseUser; + }; + type OauthAuthorizationsUpdateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsUpdateAuthorizationResponse = { + app: OauthAuthorizationsUpdateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsResetAuthorizationResponseUser = { + 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; + }; + type OauthAuthorizationsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsResetAuthorizationResponse = { + app: OauthAuthorizationsResetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: OauthAuthorizationsResetAuthorizationResponseUser; + }; + type OauthAuthorizationsListGrantsResponseItemApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsListGrantsResponseItem = { + app: OauthAuthorizationsListGrantsResponseItemApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; + }; + type OauthAuthorizationsListAuthorizationsResponseItemApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsListAuthorizationsResponseItem = { + app: OauthAuthorizationsListAuthorizationsResponseItemApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetOrCreateAuthorizationForAppResponse = { + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetGrantResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetGrantResponse = { + app: OauthAuthorizationsGetGrantResponseApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; + }; + type OauthAuthorizationsGetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsGetAuthorizationResponse = { + app: OauthAuthorizationsGetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsCreateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsCreateAuthorizationResponse = { + app: OauthAuthorizationsCreateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + }; + type OauthAuthorizationsCheckAuthorizationResponseUser = { + 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; + }; + type OauthAuthorizationsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type OauthAuthorizationsCheckAuthorizationResponse = { + app: OauthAuthorizationsCheckAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: OauthAuthorizationsCheckAuthorizationResponseUser; + }; + type MigrationsUpdateImportResponse = { + authors_url: string; + html_url: string; + repository_url: string; + status: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + authors_count?: number; + commit_count?: number; + has_large_files?: boolean; + large_files_count?: number; + large_files_size?: number; + percent?: number; + status_text?: string; + tfvc_project?: string; + }; + type MigrationsStartImportResponse = { + authors_count: number; + authors_url: string; + commit_count: number; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + percent: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + }; + type MigrationsStartForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsStartForOrgResponseRepositoriesItemOwner = { + 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; + }; + type MigrationsStartForOrgResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsStartForOrgResponseRepositoriesItemOwner; + permissions: MigrationsStartForOrgResponseRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type MigrationsStartForOrgResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type MigrationsStartForOrgResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsStartForOrgResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; + }; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner = { + 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; + }; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type MigrationsStartForAuthenticatedUserResponseOwner = { + 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; + }; + type MigrationsStartForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsStartForAuthenticatedUserResponseOwner; + repositories: Array< + MigrationsStartForAuthenticatedUserResponseRepositoriesItem + >; + state: string; + updated_at: string; + url: string; + }; + type MigrationsSetLfsPreferenceResponse = { + authors_count: number; + authors_url: string; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + }; + type MigrationsMapCommitAuthorResponse = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; + }; + type MigrationsListForOrgResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListForOrgResponseItemRepositoriesItemOwner = { + 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; + }; + type MigrationsListForOrgResponseItemRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListForOrgResponseItemRepositoriesItemOwner; + permissions: MigrationsListForOrgResponseItemRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type MigrationsListForOrgResponseItemOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type MigrationsListForOrgResponseItem = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsListForOrgResponseItemOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; + }; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner = { + 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; + }; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner; + permissions: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type MigrationsListForAuthenticatedUserResponseItemOwner = { + 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; + }; + type MigrationsListForAuthenticatedUserResponseItem = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsListForAuthenticatedUserResponseItemOwner; + repositories: Array< + MigrationsListForAuthenticatedUserResponseItemRepositoriesItem + >; + state: string; + updated_at: string; + url: string; + }; + type MigrationsGetStatusForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsGetStatusForOrgResponseRepositoriesItemOwner = { + 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; + }; + type MigrationsGetStatusForOrgResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsGetStatusForOrgResponseRepositoriesItemOwner; + permissions: MigrationsGetStatusForOrgResponseRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type MigrationsGetStatusForOrgResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type MigrationsGetStatusForOrgResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsGetStatusForOrgResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; + }; + type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner = { + 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; + }; + type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type MigrationsGetStatusForAuthenticatedUserResponseOwner = { + 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; + }; + type MigrationsGetStatusForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsGetStatusForAuthenticatedUserResponseOwner; + repositories: Array< + MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem + >; + state: string; + updated_at: string; + url: string; + }; + type MigrationsGetLargeFilesResponseItem = { + oid: string; + path: string; + ref_name: string; + size: number; + }; + type MigrationsGetImportProgressResponse = { + authors_count: number; + authors_url: string; + has_large_files: boolean; + html_url: string; + large_files_count: number; + large_files_size: number; + repository_url: string; + status: string; + status_text: string; + url: string; + use_lfs: string; + vcs: string; + vcs_url: string; + }; + type MigrationsGetCommitAuthorsResponseItem = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; + }; + type MetaGetResponse = { + git: Array; + hooks: Array; + importer: Array; + pages: Array; + verifiable_password_authentication: boolean; + }; + type LicensesListCommonlyUsedResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; + }; + type LicensesListResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; + }; + type LicensesGetForRepoResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type LicensesGetForRepoResponseLinks = { + git: string; + html: string; + self: string; + }; + type LicensesGetForRepoResponse = { + _links: LicensesGetForRepoResponseLinks; + content: string; + download_url: string; + encoding: string; + git_url: string; + html_url: string; + license: LicensesGetForRepoResponseLicense; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type LicensesGetResponse = { + body: string; + conditions: Array; + description: string; + featured: boolean; + html_url: string; + implementation: string; + key: string; + limitations: Array; + name: string; + node_id: string; + permissions: Array; + spdx_id: string; + url: string; + }; + type IssuesUpdateMilestoneResponseCreator = { + 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; + }; + type IssuesUpdateMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesUpdateMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesUpdateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesUpdateCommentResponseUser = { + 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; + }; + type IssuesUpdateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesUpdateCommentResponseUser; + }; + type IssuesUpdateResponseUser = { + 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; + }; + type IssuesUpdateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesUpdateResponseMilestoneCreator = { + 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; + }; + type IssuesUpdateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesUpdateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesUpdateResponseClosedBy = { + 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; + }; + type IssuesUpdateResponseAssigneesItem = { + 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; + }; + type IssuesUpdateResponseAssignee = { + 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; + }; + type IssuesUpdateResponse = { + active_lock_reason: string; + assignee: IssuesUpdateResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesUpdateResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesUpdateResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesUpdateResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesUpdateResponseUser; + }; + type IssuesReplaceLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesRemoveLabelResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesRemoveAssigneesResponseUser = { + 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; + }; + type IssuesRemoveAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesRemoveAssigneesResponseMilestoneCreator = { + 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; + }; + type IssuesRemoveAssigneesResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesRemoveAssigneesResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesRemoveAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesRemoveAssigneesResponseAssigneesItem = { + 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; + }; + type IssuesRemoveAssigneesResponseAssignee = { + 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; + }; + type IssuesRemoveAssigneesResponse = { + active_lock_reason: string; + assignee: IssuesRemoveAssigneesResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesRemoveAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesRemoveAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesRemoveAssigneesResponseUser; + }; + type IssuesListMilestonesForRepoResponseItemCreator = { + 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; + }; + type IssuesListMilestonesForRepoResponseItem = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListMilestonesForRepoResponseItemCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListLabelsOnIssueResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListLabelsForRepoResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListLabelsForMilestoneResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForRepoResponseItemUser = { + 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; + }; + type IssuesListForRepoResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListForRepoResponseItemMilestoneCreator = { + 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; + }; + type IssuesListForRepoResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForRepoResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListForRepoResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForRepoResponseItemAssigneesItem = { + 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; + }; + type IssuesListForRepoResponseItemAssignee = { + 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; + }; + type IssuesListForRepoResponseItem = { + active_lock_reason: string; + assignee: IssuesListForRepoResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForRepoResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForRepoResponseItemPullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForRepoResponseItemUser; + }; + type IssuesListForOrgResponseItemUser = { + 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; + }; + type IssuesListForOrgResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type IssuesListForOrgResponseItemRepositoryOwner = { + 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; + }; + type IssuesListForOrgResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListForOrgResponseItemRepositoryOwner; + permissions: IssuesListForOrgResponseItemRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type IssuesListForOrgResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListForOrgResponseItemMilestoneCreator = { + 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; + }; + type IssuesListForOrgResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForOrgResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListForOrgResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForOrgResponseItemAssigneesItem = { + 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; + }; + type IssuesListForOrgResponseItemAssignee = { + 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; + }; + type IssuesListForOrgResponseItem = { + active_lock_reason: string; + assignee: IssuesListForOrgResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForOrgResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForOrgResponseItemPullRequest; + repository: IssuesListForOrgResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForOrgResponseItemUser; + }; + type IssuesListForAuthenticatedUserResponseItemUser = { + 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; + }; + type IssuesListForAuthenticatedUserResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type IssuesListForAuthenticatedUserResponseItemRepositoryOwner = { + 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; + }; + type IssuesListForAuthenticatedUserResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListForAuthenticatedUserResponseItemRepositoryOwner; + permissions: IssuesListForAuthenticatedUserResponseItemRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type IssuesListForAuthenticatedUserResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemMilestoneCreator = { + 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; + }; + type IssuesListForAuthenticatedUserResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForAuthenticatedUserResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListForAuthenticatedUserResponseItemAssigneesItem = { + 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; + }; + type IssuesListForAuthenticatedUserResponseItemAssignee = { + 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; + }; + type IssuesListForAuthenticatedUserResponseItem = { + active_lock_reason: string; + assignee: IssuesListForAuthenticatedUserResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListForAuthenticatedUserResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListForAuthenticatedUserResponseItemPullRequest; + repository: IssuesListForAuthenticatedUserResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListForAuthenticatedUserResponseItemUser; + }; + type IssuesListEventsForTimelineResponseItemActor = { + 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; + }; + type IssuesListEventsForTimelineResponseItem = { + actor: IssuesListEventsForTimelineResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueUser = { + 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; + }; + type IssuesListEventsForRepoResponseItemIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueMilestoneCreator = { + 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; + }; + type IssuesListEventsForRepoResponseItemIssueMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListEventsForRepoResponseItemIssueMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListEventsForRepoResponseItemIssueAssigneesItem = { + 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; + }; + type IssuesListEventsForRepoResponseItemIssueAssignee = { + 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; + }; + type IssuesListEventsForRepoResponseItemIssue = { + active_lock_reason: string; + assignee: IssuesListEventsForRepoResponseItemIssueAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListEventsForRepoResponseItemIssueMilestone; + node_id: string; + number: number; + pull_request: IssuesListEventsForRepoResponseItemIssuePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListEventsForRepoResponseItemIssueUser; + }; + type IssuesListEventsForRepoResponseItemActor = { + 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; + }; + type IssuesListEventsForRepoResponseItem = { + actor: IssuesListEventsForRepoResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesListEventsForRepoResponseItemIssue; + node_id: string; + url: string; + }; + type IssuesListEventsResponseItemActor = { + 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; + }; + type IssuesListEventsResponseItem = { + actor: IssuesListEventsResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; + }; + type IssuesListCommentsForRepoResponseItemUser = { + 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; + }; + type IssuesListCommentsForRepoResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsForRepoResponseItemUser; + }; + type IssuesListCommentsResponseItemUser = { + 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; + }; + type IssuesListCommentsResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsResponseItemUser; + }; + type IssuesListAssigneesResponseItem = { + 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; + }; + type IssuesListResponseItemUser = { + 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; + }; + type IssuesListResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type IssuesListResponseItemRepositoryOwner = { + 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; + }; + type IssuesListResponseItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: IssuesListResponseItemRepositoryOwner; + permissions: IssuesListResponseItemRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type IssuesListResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesListResponseItemMilestoneCreator = { + 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; + }; + type IssuesListResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesListResponseItemAssigneesItem = { + 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; + }; + type IssuesListResponseItemAssignee = { + 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; + }; + type IssuesListResponseItem = { + active_lock_reason: string; + assignee: IssuesListResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesListResponseItemMilestone; + node_id: string; + number: number; + pull_request: IssuesListResponseItemPullRequest; + repository: IssuesListResponseItemRepository; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesListResponseItemUser; + }; + type IssuesGetMilestoneResponseCreator = { + 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; + }; + type IssuesGetMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesGetLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesGetEventResponseIssueUser = { + 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; + }; + type IssuesGetEventResponseIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesGetEventResponseIssueMilestoneCreator = { + 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; + }; + type IssuesGetEventResponseIssueMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetEventResponseIssueMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesGetEventResponseIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesGetEventResponseIssueAssigneesItem = { + 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; + }; + type IssuesGetEventResponseIssueAssignee = { + 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; + }; + type IssuesGetEventResponseIssue = { + active_lock_reason: string; + assignee: IssuesGetEventResponseIssueAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesGetEventResponseIssueMilestone; + node_id: string; + number: number; + pull_request: IssuesGetEventResponseIssuePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesGetEventResponseIssueUser; + }; + type IssuesGetEventResponseActor = { + 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; + }; + type IssuesGetEventResponse = { + actor: IssuesGetEventResponseActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesGetEventResponseIssue; + node_id: string; + url: string; + }; + type IssuesGetCommentResponseUser = { + 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; + }; + type IssuesGetCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesGetCommentResponseUser; + }; + type IssuesGetResponseUser = { + 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; + }; + type IssuesGetResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesGetResponseMilestoneCreator = { + 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; + }; + type IssuesGetResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesGetResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesGetResponseClosedBy = { + 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; + }; + type IssuesGetResponseAssigneesItem = { + 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; + }; + type IssuesGetResponseAssignee = { + 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; + }; + type IssuesGetResponse = { + active_lock_reason: string; + assignee: IssuesGetResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesGetResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesGetResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesGetResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesGetResponseUser; + }; + type IssuesCreateMilestoneResponseCreator = { + 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; + }; + type IssuesCreateMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesCreateMilestoneResponseCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesCreateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesCreateCommentResponseUser = { + 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; + }; + type IssuesCreateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesCreateCommentResponseUser; + }; + type IssuesCreateResponseUser = { + 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; + }; + type IssuesCreateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesCreateResponseMilestoneCreator = { + 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; + }; + type IssuesCreateResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesCreateResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesCreateResponseClosedBy = { + 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; + }; + type IssuesCreateResponseAssigneesItem = { + 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; + }; + type IssuesCreateResponseAssignee = { + 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; + }; + type IssuesCreateResponse = { + active_lock_reason: string; + assignee: IssuesCreateResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesCreateResponseClosedBy; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesCreateResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesCreateResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesCreateResponseUser; + }; + type IssuesAddLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesAddAssigneesResponseUser = { + 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; + }; + type IssuesAddAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; + }; + type IssuesAddAssigneesResponseMilestoneCreator = { + 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; + }; + type IssuesAddAssigneesResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesAddAssigneesResponseMilestoneCreator; + description: string; + due_on: string; + html_url: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; + }; + type IssuesAddAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; + }; + type IssuesAddAssigneesResponseAssigneesItem = { + 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; + }; + type IssuesAddAssigneesResponseAssignee = { + 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; + }; + type IssuesAddAssigneesResponse = { + active_lock_reason: string; + assignee: IssuesAddAssigneesResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; + comments_url: string; + created_at: string; + events_url: string; + html_url: string; + id: number; + labels: Array; + labels_url: string; + locked: boolean; + milestone: IssuesAddAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesAddAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; + updated_at: string; + url: string; + user: IssuesAddAssigneesResponseUser; + }; + type InteractionsGetRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type InteractionsGetRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type InteractionsAddOrUpdateRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type InteractionsAddOrUpdateRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; + }; + type GitignoreGetTemplateResponse = { name: string; source: string }; + type GitUpdateRefResponseObject = { sha: string; type: string; url: string }; + type GitUpdateRefResponse = { + node_id: string; + object: GitUpdateRefResponseObject; + ref: string; + url: string; + }; + type GitListMatchingRefsResponseItemObject = { + sha: string; + type: string; + url: string; + }; + type GitListMatchingRefsResponseItem = { + node_id: string; + object: GitListMatchingRefsResponseItemObject; + ref: string; + url: string; + }; + type GitGetTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitGetTagResponseTagger = { date: string; email: string; name: string }; + type GitGetTagResponseObject = { sha: string; type: string; url: string }; + type GitGetTagResponse = { + message: string; + node_id: string; + object: GitGetTagResponseObject; + sha: string; + tag: string; + tagger: GitGetTagResponseTagger; + url: string; + verification: GitGetTagResponseVerification; + }; + type GitGetRefResponseObject = { sha: string; type: string; url: string }; + type GitGetRefResponse = { + node_id: string; + object: GitGetRefResponseObject; + ref: string; + url: string; + }; + type GitGetCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitGetCommitResponseTree = { sha: string; url: string }; + type GitGetCommitResponseParentsItem = { sha: string; url: string }; + type GitGetCommitResponseCommitter = { + date: string; + email: string; + name: string; + }; + type GitGetCommitResponseAuthor = { + date: string; + email: string; + name: string; + }; + type GitGetCommitResponse = { + author: GitGetCommitResponseAuthor; + committer: GitGetCommitResponseCommitter; + message: string; + parents: Array; + sha: string; + tree: GitGetCommitResponseTree; + url: string; + verification: GitGetCommitResponseVerification; + }; + type GitGetBlobResponse = { + content: string; + encoding: string; + sha: string; + size: number; + url: string; + }; + type GitCreateTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size: number; + type: string; + url: string; + }; + type GitCreateTreeResponse = { + sha: string; + tree: Array; + url: string; + }; + type GitCreateTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitCreateTagResponseTagger = { + date: string; + email: string; + name: string; + }; + type GitCreateTagResponseObject = { sha: string; type: string; url: string }; + type GitCreateTagResponse = { + message: string; + node_id: string; + object: GitCreateTagResponseObject; + sha: string; + tag: string; + tagger: GitCreateTagResponseTagger; + url: string; + verification: GitCreateTagResponseVerification; + }; + type GitCreateRefResponseObject = { sha: string; type: string; url: string }; + type GitCreateRefResponse = { + node_id: string; + object: GitCreateRefResponseObject; + ref: string; + url: string; + }; + type GitCreateCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; + }; + type GitCreateCommitResponseTree = { sha: string; url: string }; + type GitCreateCommitResponseParentsItem = { sha: string; url: string }; + type GitCreateCommitResponseCommitter = { + date: string; + email: string; + name: string; + }; + type GitCreateCommitResponseAuthor = { + date: string; + email: string; + name: string; + }; + type GitCreateCommitResponse = { + author: GitCreateCommitResponseAuthor; + committer: GitCreateCommitResponseCommitter; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: GitCreateCommitResponseTree; + url: string; + verification: GitCreateCommitResponseVerification; + }; + type GitCreateBlobResponse = { sha: string; url: string }; + type GistsUpdateCommentResponseUser = { + 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; + }; + type GistsUpdateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsUpdateCommentResponseUser; + }; + type GistsUpdateResponseOwner = { + 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; + }; + type GistsUpdateResponseHistoryItemUser = { + 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; + }; + type GistsUpdateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsUpdateResponseHistoryItem = { + change_status: GistsUpdateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsUpdateResponseHistoryItemUser; + version: string; + }; + type GistsUpdateResponseForksItemUser = { + 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; + }; + type GistsUpdateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsUpdateResponseForksItemUser; + }; + type GistsUpdateResponseFilesNewFileTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFilesHelloWorldMd = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsUpdateResponseFiles = { + "hello_world.md": GistsUpdateResponseFilesHelloWorldMd; + "hello_world.py": GistsUpdateResponseFilesHelloWorldPy; + "hello_world.rb": GistsUpdateResponseFilesHelloWorldRb; + "new_file.txt": GistsUpdateResponseFilesNewFileTxt; + }; + type GistsUpdateResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsUpdateResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsUpdateResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListStarredResponseItemOwner = { + 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; + }; + type GistsListStarredResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListStarredResponseItemFiles = { + "hello_world.rb": GistsListStarredResponseItemFilesHelloWorldRb; + }; + type GistsListStarredResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListStarredResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListStarredResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListPublicForUserResponseItemOwner = { + 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; + }; + type GistsListPublicForUserResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListPublicForUserResponseItemFiles = { + "hello_world.rb": GistsListPublicForUserResponseItemFilesHelloWorldRb; + }; + type GistsListPublicForUserResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListPublicForUserResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListPublicForUserResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListPublicResponseItemOwner = { + 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; + }; + type GistsListPublicResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListPublicResponseItemFiles = { + "hello_world.rb": GistsListPublicResponseItemFilesHelloWorldRb; + }; + type GistsListPublicResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListPublicResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListPublicResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsListForksResponseItemUser = { + 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; + }; + type GistsListForksResponseItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsListForksResponseItemUser; + }; + type GistsListCommitsResponseItemUser = { + 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; + }; + type GistsListCommitsResponseItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsListCommitsResponseItem = { + change_status: GistsListCommitsResponseItemChangeStatus; + committed_at: string; + url: string; + user: GistsListCommitsResponseItemUser; + version: string; + }; + type GistsListCommentsResponseItemUser = { + 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; + }; + type GistsListCommentsResponseItem = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsListCommentsResponseItemUser; + }; + type GistsListResponseItemOwner = { + 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; + }; + type GistsListResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsListResponseItemFiles = { + "hello_world.rb": GistsListResponseItemFilesHelloWorldRb; + }; + type GistsListResponseItem = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsListResponseItemFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsListResponseItemOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsGetRevisionResponseOwner = { + 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; + }; + type GistsGetRevisionResponseHistoryItemUser = { + 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; + }; + type GistsGetRevisionResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsGetRevisionResponseHistoryItem = { + change_status: GistsGetRevisionResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetRevisionResponseHistoryItemUser; + version: string; + }; + type GistsGetRevisionResponseForksItemUser = { + 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; + }; + type GistsGetRevisionResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetRevisionResponseForksItemUser; + }; + type GistsGetRevisionResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetRevisionResponseFiles = { + "hello_world.py": GistsGetRevisionResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetRevisionResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetRevisionResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetRevisionResponseFilesHelloWorldRubyTxt; + }; + type GistsGetRevisionResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsGetRevisionResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsGetRevisionResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsGetCommentResponseUser = { + 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; + }; + type GistsGetCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsGetCommentResponseUser; + }; + type GistsGetResponseOwner = { + 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; + }; + type GistsGetResponseHistoryItemUser = { + 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; + }; + type GistsGetResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsGetResponseHistoryItem = { + change_status: GistsGetResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetResponseHistoryItemUser; + version: string; + }; + type GistsGetResponseForksItemUser = { + 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; + }; + type GistsGetResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetResponseForksItemUser; + }; + type GistsGetResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsGetResponseFiles = { + "hello_world.py": GistsGetResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetResponseFilesHelloWorldRubyTxt; + }; + type GistsGetResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsGetResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsGetResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsForkResponseOwner = { + 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; + }; + type GistsForkResponseFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; + }; + type GistsForkResponseFiles = { + "hello_world.rb": GistsForkResponseFilesHelloWorldRb; + }; + type GistsForkResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsForkResponseFiles; + forks_url: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + id: string; + node_id: string; + owner: GistsForkResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type GistsCreateCommentResponseUser = { + 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; + }; + type GistsCreateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsCreateCommentResponseUser; + }; + type GistsCreateResponseOwner = { + 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; + }; + type GistsCreateResponseHistoryItemUser = { + 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; + }; + type GistsCreateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; + }; + type GistsCreateResponseHistoryItem = { + change_status: GistsCreateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsCreateResponseHistoryItemUser; + version: string; + }; + type GistsCreateResponseForksItemUser = { + 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; + }; + type GistsCreateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsCreateResponseForksItemUser; + }; + type GistsCreateResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; + }; + type GistsCreateResponseFiles = { + "hello_world.py": GistsCreateResponseFilesHelloWorldPy; + "hello_world.rb": GistsCreateResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsCreateResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsCreateResponseFilesHelloWorldRubyTxt; + }; + type GistsCreateResponse = { + comments: number; + comments_url: string; + commits_url: string; + created_at: string; + description: string; + files: GistsCreateResponseFiles; + forks: Array; + forks_url: string; + git_pull_url: string; + git_push_url: string; + history: Array; + html_url: string; + id: string; + node_id: string; + owner: GistsCreateResponseOwner; + public: boolean; + truncated: boolean; + updated_at: string; + url: string; + user: null; + }; + type CodesOfConductListConductCodesResponseItem = { + key: string; + name: string; + url: string; + }; + type CodesOfConductGetForRepoResponse = { + body: string; + key: string; + name: string; + url: string; + }; + type CodesOfConductGetConductCodeResponse = { + body: string; + key: string; + name: string; + url: string; + }; + type ChecksUpdateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksUpdateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemHeadRepo; + sha: string; + }; + type ChecksUpdateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksUpdateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemBaseRepo; + sha: string; + }; + type ChecksUpdateResponsePullRequestsItem = { + base: ChecksUpdateResponsePullRequestsItemBase; + head: ChecksUpdateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksUpdateResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksUpdateResponseCheckSuite = { id: number }; + type ChecksUpdateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksUpdateResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksUpdateResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksUpdateResponseAppOwner; + permissions: ChecksUpdateResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksUpdateResponse = { + app: ChecksUpdateResponseApp; + check_suite: ChecksUpdateResponseCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksUpdateResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type ChecksSetSuitesPreferencesResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksSetSuitesPreferencesResponseRepositoryOwner = { + 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; + }; + type ChecksSetSuitesPreferencesResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksSetSuitesPreferencesResponseRepositoryOwner; + permissions: ChecksSetSuitesPreferencesResponseRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ChecksSetSuitesPreferencesResponsePreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; + }; + type ChecksSetSuitesPreferencesResponsePreferences = { + auto_trigger_checks: Array< + ChecksSetSuitesPreferencesResponsePreferencesAutoTriggerChecksItem + >; + }; + type ChecksSetSuitesPreferencesResponse = { + preferences: ChecksSetSuitesPreferencesResponsePreferences; + repository: ChecksSetSuitesPreferencesResponseRepository; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner = { + 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; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner; + permissions: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksListSuitesForRefResponseCheckSuitesItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListSuitesForRefResponseCheckSuitesItemAppOwner; + permissions: ChecksListSuitesForRefResponseCheckSuitesItemAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksListSuitesForRefResponseCheckSuitesItem = { + after: string; + app: ChecksListSuitesForRefResponseCheckSuitesItemApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksListSuitesForRefResponseCheckSuitesItemRepository; + status: string; + url: string; + }; + type ChecksListSuitesForRefResponse = { + check_suites: Array; + total_count: number; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; + }; + type ChecksListForSuiteResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksListForSuiteResponseCheckRunsItemCheckSuite = { id: number }; + type ChecksListForSuiteResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksListForSuiteResponseCheckRunsItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksListForSuiteResponseCheckRunsItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListForSuiteResponseCheckRunsItemAppOwner; + permissions: ChecksListForSuiteResponseCheckRunsItemAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksListForSuiteResponseCheckRunsItem = { + app: ChecksListForSuiteResponseCheckRunsItemApp; + check_suite: ChecksListForSuiteResponseCheckRunsItemCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksListForSuiteResponseCheckRunsItemOutput; + pull_requests: Array< + ChecksListForSuiteResponseCheckRunsItemPullRequestsItem + >; + started_at: string; + status: string; + url: string; + }; + type ChecksListForSuiteResponse = { + check_runs: Array; + total_count: number; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; + }; + type ChecksListForRefResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForRefResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForRefResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksListForRefResponseCheckRunsItemCheckSuite = { id: number }; + type ChecksListForRefResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksListForRefResponseCheckRunsItemAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksListForRefResponseCheckRunsItemApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksListForRefResponseCheckRunsItemAppOwner; + permissions: ChecksListForRefResponseCheckRunsItemAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksListForRefResponseCheckRunsItem = { + app: ChecksListForRefResponseCheckRunsItemApp; + check_suite: ChecksListForRefResponseCheckRunsItemCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksListForRefResponseCheckRunsItemOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type ChecksListForRefResponse = { + check_runs: Array; + total_count: number; + }; + type ChecksListAnnotationsResponseItem = { + annotation_level: string; + end_column: number; + end_line: number; + message: string; + path: string; + raw_details: string; + start_column: number; + start_line: number; + title: string; + }; + type ChecksGetSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksGetSuiteResponseRepositoryOwner = { + 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; + }; + type ChecksGetSuiteResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksGetSuiteResponseRepositoryOwner; + permissions: ChecksGetSuiteResponseRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ChecksGetSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksGetSuiteResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksGetSuiteResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksGetSuiteResponseAppOwner; + permissions: ChecksGetSuiteResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksGetSuiteResponse = { + after: string; + app: ChecksGetSuiteResponseApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksGetSuiteResponseRepository; + status: string; + url: string; + }; + type ChecksGetResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksGetResponsePullRequestsItemHead = { + ref: string; + repo: ChecksGetResponsePullRequestsItemHeadRepo; + sha: string; + }; + type ChecksGetResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksGetResponsePullRequestsItemBase = { + ref: string; + repo: ChecksGetResponsePullRequestsItemBaseRepo; + sha: string; + }; + type ChecksGetResponsePullRequestsItem = { + base: ChecksGetResponsePullRequestsItemBase; + head: ChecksGetResponsePullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksGetResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; + }; + type ChecksGetResponseCheckSuite = { id: number }; + type ChecksGetResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksGetResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksGetResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksGetResponseAppOwner; + permissions: ChecksGetResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksGetResponse = { + app: ChecksGetResponseApp; + check_suite: ChecksGetResponseCheckSuite; + completed_at: string; + conclusion: string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksGetResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type ChecksCreateSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ChecksCreateSuiteResponseRepositoryOwner = { + 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; + }; + type ChecksCreateSuiteResponseRepository = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ChecksCreateSuiteResponseRepositoryOwner; + permissions: ChecksCreateSuiteResponseRepositoryPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ChecksCreateSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksCreateSuiteResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksCreateSuiteResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksCreateSuiteResponseAppOwner; + permissions: ChecksCreateSuiteResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksCreateSuiteResponse = { + after: string; + app: ChecksCreateSuiteResponseApp; + before: string; + conclusion: string; + head_branch: string; + head_sha: string; + id: number; + node_id: string; + pull_requests: Array; + repository: ChecksCreateSuiteResponseRepository; + status: string; + url: string; + }; + type ChecksCreateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; + }; + type ChecksCreateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemHeadRepo; + sha: string; + }; + type ChecksCreateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; + }; + type ChecksCreateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemBaseRepo; + sha: string; + }; + type ChecksCreateResponsePullRequestsItem = { + base: ChecksCreateResponsePullRequestsItemBase; + head: ChecksCreateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; + }; + type ChecksCreateResponseOutput = { + summary: string; + text: string; + title: string; + annotations_count?: number; + annotations_url?: string; + }; + type ChecksCreateResponseCheckSuite = { id: number }; + type ChecksCreateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ChecksCreateResponseAppOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type ChecksCreateResponseApp = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: ChecksCreateResponseAppOwner; + permissions: ChecksCreateResponseAppPermissions; + slug: string; + updated_at: string; + }; + type ChecksCreateResponse = { + app: ChecksCreateResponseApp; + check_suite: ChecksCreateResponseCheckSuite; + completed_at: null | string; + conclusion: null | string; + details_url: string; + external_id: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + output: ChecksCreateResponseOutput; + pull_requests: Array; + started_at: string; + status: string; + url: string; + }; + type AppsListReposResponseRepositoriesItemOwner = { + 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; + }; + type AppsListReposResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsListReposResponseRepositoriesItemOwner; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type AppsListReposResponse = { + repositories: Array; + total_count: number; + }; + type AppsListPlansStubbedResponseItem = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListPlansResponseItem = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItem = { + account: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount; + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan; + unit_count: null; + updated_at: string; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsListMarketplacePurchasesForAuthenticatedUserResponseItem = { + account: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount; + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan; + unit_count: null; + updated_at: string; + }; + type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount = { + avatar_url: string; + description?: string; + events_url: string; + hooks_url?: string; + id: number; + issues_url?: string; + login: string; + members_url?: string; + node_id: string; + public_members_url?: string; + repos_url: string; + url: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + organizations_url?: string; + received_events_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + }; + type AppsListInstallationsForAuthenticatedUserResponseInstallationsItem = { + access_tokens_url: string; + account: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions; + repositories_url: string; + single_file_name: string; + target_id: number; + target_type: string; + }; + type AppsListInstallationsForAuthenticatedUserResponse = { + installations: Array< + AppsListInstallationsForAuthenticatedUserResponseInstallationsItem + >; + total_count: number; + }; + type AppsListInstallationsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsListInstallationsResponseItemAccount = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsListInstallationsResponseItem = { + access_tokens_url: string; + account: AppsListInstallationsResponseItemAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsListInstallationsResponseItemPermissions; + repositories_url: string; + repository_selection: string; + single_file_name: string; + target_id: number; + target_type: string; + }; + type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner = { + 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; + }; + type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner; + permissions: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type AppsListInstallationReposForAuthenticatedUserResponse = { + repositories: Array< + AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItem + >; + total_count: number; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsListAccountsUserOrOrgOnPlanStubbedResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsListAccountsUserOrOrgOnPlanResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsGetUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsGetUserInstallationResponseAccount = { + 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; + }; + type AppsGetUserInstallationResponse = { + access_tokens_url: string; + account: AppsGetUserInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetUserInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsGetRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsGetRepoInstallationResponseAccount = { + 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; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsGetRepoInstallationResponse = { + access_tokens_url: string; + account: AppsGetRepoInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetRepoInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsGetOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsGetOrgInstallationResponseAccount = { + 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; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsGetOrgInstallationResponse = { + access_tokens_url: string; + account: AppsGetOrgInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsGetOrgInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsGetInstallationResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsGetInstallationResponseAccount = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsGetInstallationResponse = { + access_tokens_url: string; + account: AppsGetInstallationResponseAccount; + app_id: number; + events: Array; + html_url: string; + id: number; + permissions: AppsGetInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: string; + target_id: number; + target_type: string; + }; + type AppsGetBySlugResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsGetBySlugResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsGetBySlugResponse = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: AppsGetBySlugResponseOwner; + permissions: AppsGetBySlugResponsePermissions; + slug: string; + updated_at: string; + }; + type AppsGetAuthenticatedResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type AppsGetAuthenticatedResponseOwner = { + avatar_url: string; + description: string; + events_url: string; + hooks_url: string; + id: number; + issues_url: string; + login: string; + members_url: string; + node_id: string; + public_members_url: string; + repos_url: string; + url: string; + }; + type AppsGetAuthenticatedResponse = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; + id: number; + installations_count: number; + name: string; + node_id: string; + owner: AppsGetAuthenticatedResponseOwner; + permissions: AppsGetAuthenticatedResponsePermissions; + slug: string; + updated_at: string; + }; + type AppsFindUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsFindUserInstallationResponseAccount = { + 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; + }; + type AppsFindUserInstallationResponse = { + access_tokens_url: string; + account: AppsFindUserInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindUserInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsFindRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsFindRepoInstallationResponseAccount = { + 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; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsFindRepoInstallationResponse = { + access_tokens_url: string; + account: AppsFindRepoInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindRepoInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsFindOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; + }; + type AppsFindOrgInstallationResponseAccount = { + 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; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsFindOrgInstallationResponse = { + access_tokens_url: string; + account: AppsFindOrgInstallationResponseAccount; + app_id: number; + created_at: string; + events: Array; + html_url: string; + id: number; + permissions: AppsFindOrgInstallationResponsePermissions; + repositories_url: string; + repository_selection: string; + single_file_name: null; + target_id: number; + target_type: string; + updated_at: string; + }; + type AppsCreateInstallationTokenResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type AppsCreateInstallationTokenResponseRepositoriesItemOwner = { + 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; + }; + type AppsCreateInstallationTokenResponseRepositoriesItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: AppsCreateInstallationTokenResponseRepositoriesItemOwner; + permissions: AppsCreateInstallationTokenResponseRepositoriesItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type AppsCreateInstallationTokenResponsePermissions = { + contents: string; + issues: string; + }; + type AppsCreateInstallationTokenResponse = { + expires_at: string; + permissions: AppsCreateInstallationTokenResponsePermissions; + repositories: Array; + token: string; + }; + type AppsCreateFromManifestResponseOwner = { + 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; + }; + type AppsCreateFromManifestResponse = { + client_id: string; + client_secret: string; + created_at: string; + description: null; + external_url: string; + html_url: string; + id: number; + name: string; + node_id: string; + owner: AppsCreateFromManifestResponseOwner; + pem: string; + updated_at: string; + webhook_secret: string; + }; + type AppsCreateContentAttachmentResponse = { + body: string; + id: number; + title: string; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsCheckAccountIsAssociatedWithAnyStubbedResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase = { + billing_cycle: string; + free_trial_ends_on: string; + next_billing_date: string; + on_free_trial: boolean; + plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan; + unit_count: null; + updated_at: string; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan = { + accounts_url: string; + bullets: Array; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + number: number; + price_model: string; + state: string; + unit_name: null; + url: string; + yearly_price_in_cents: number; + }; + type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan; + unit_count: null; + }; + type AppsCheckAccountIsAssociatedWithAnyResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; + }; + type ActivitySetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; + }; + type ActivitySetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; + }; + type ActivityListWatchersForRepoResponseItem = { + 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; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItemOwner = { + 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; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ActivityListWatchedReposForAuthenticatedUserResponseItem = { + 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + license: ActivityListWatchedReposForAuthenticatedUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListWatchedReposForAuthenticatedUserResponseItemOwner; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ActivityListStargazersForRepoResponseItem = { + 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; + }; + type ActivityListReposWatchedByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListReposWatchedByUserResponseItemOwner = { + 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; + }; + type ActivityListReposWatchedByUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; + }; + type ActivityListReposWatchedByUserResponseItem = { + 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + license: ActivityListReposWatchedByUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposWatchedByUserResponseItemOwner; + permissions: ActivityListReposWatchedByUserResponseItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ActivityListReposStarredByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListReposStarredByUserResponseItemOwner = { + 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; + }; + type ActivityListReposStarredByUserResponseItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposStarredByUserResponseItemOwner; + permissions: ActivityListReposStarredByUserResponseItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ActivityListReposStarredByAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ActivityListReposStarredByAuthenticatedUserResponseItemOwner = { + 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; + }; + type ActivityListReposStarredByAuthenticatedUserResponseItem = { + allow_merge_commit: boolean; + allow_rebase_merge: boolean; + allow_squash_merge: 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; + disabled: boolean; + downloads_url: string; + events_url: string; + fork: boolean; + 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; + 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: null; + languages_url: string; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; + node_id: string; + notifications_url: string; + open_issues_count: number; + owner: ActivityListReposStarredByAuthenticatedUserResponseItemOwner; + permissions: ActivityListReposStarredByAuthenticatedUserResponseItemPermissions; + private: 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_count: number; + subscribers_url: string; + subscription_url: string; + svn_url: string; + tags_url: string; + teams_url: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + watchers_count: number; + }; + type ActivityListNotificationsForRepoResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; + }; + type ActivityListNotificationsForRepoResponseItemRepositoryOwner = { + 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; + }; + type ActivityListNotificationsForRepoResponseItemRepository = { + 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; + 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; + git_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: ActivityListNotificationsForRepoResponseItemRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ActivityListNotificationsForRepoResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsForRepoResponseItemRepository; + subject: ActivityListNotificationsForRepoResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; + }; + type ActivityListNotificationsResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; + }; + type ActivityListNotificationsResponseItemRepositoryOwner = { + 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; + }; + type ActivityListNotificationsResponseItemRepository = { + 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; + 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; + git_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: ActivityListNotificationsResponseItemRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ActivityListNotificationsResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsResponseItemRepository; + subject: ActivityListNotificationsResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; + }; + type ActivityListFeedsResponseLinksUser = { href: string; type: string }; + type ActivityListFeedsResponseLinksTimeline = { href: string; type: string }; + type ActivityListFeedsResponseLinksSecurityAdvisories = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserPublic = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserOrganizationsItem = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserOrganization = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUserActor = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinksCurrentUser = { + href: string; + type: string; + }; + type ActivityListFeedsResponseLinks = { + current_user: ActivityListFeedsResponseLinksCurrentUser; + current_user_actor: ActivityListFeedsResponseLinksCurrentUserActor; + current_user_organization: ActivityListFeedsResponseLinksCurrentUserOrganization; + current_user_organizations: Array< + ActivityListFeedsResponseLinksCurrentUserOrganizationsItem + >; + current_user_public: ActivityListFeedsResponseLinksCurrentUserPublic; + security_advisories: ActivityListFeedsResponseLinksSecurityAdvisories; + timeline: ActivityListFeedsResponseLinksTimeline; + user: ActivityListFeedsResponseLinksUser; + }; + type ActivityListFeedsResponse = { + _links: ActivityListFeedsResponseLinks; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + current_user_public_url: string; + current_user_url: string; + security_advisories_url: string; + timeline_url: string; + user_url: string; + }; + type ActivityGetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; + }; + type ActivityGetThreadResponseSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; + }; + type ActivityGetThreadResponseRepositoryOwner = { + 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; + }; + type ActivityGetThreadResponseRepository = { + 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; + 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; + git_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: ActivityGetThreadResponseRepositoryOwner; + private: boolean; + 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; + url: string; + }; + type ActivityGetThreadResponse = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityGetThreadResponseRepository; + subject: ActivityGetThreadResponseSubject; + unread: boolean; + updated_at: string; + url: string; + }; + type ActivityGetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; + }; + type ActivityListNotificationsResponse = Array< + ActivityListNotificationsResponseItem + >; + type ActivityListNotificationsForRepoResponse = Array< + ActivityListNotificationsForRepoResponseItem + >; + type ActivityListReposStarredByAuthenticatedUserResponse = Array< + ActivityListReposStarredByAuthenticatedUserResponseItem + >; + type ActivityListReposStarredByUserResponse = Array< + ActivityListReposStarredByUserResponseItem + >; + type ActivityListReposWatchedByUserResponse = Array< + ActivityListReposWatchedByUserResponseItem + >; + type ActivityListStargazersForRepoResponse = Array< + ActivityListStargazersForRepoResponseItem + >; + type ActivityListWatchedReposForAuthenticatedUserResponse = Array< + ActivityListWatchedReposForAuthenticatedUserResponseItem + >; + type ActivityListWatchersForRepoResponse = Array< + ActivityListWatchersForRepoResponseItem + >; + type AppsListAccountsUserOrOrgOnPlanResponse = Array< + AppsListAccountsUserOrOrgOnPlanResponseItem + >; + type AppsListAccountsUserOrOrgOnPlanStubbedResponse = Array< + AppsListAccountsUserOrOrgOnPlanStubbedResponseItem + >; + type AppsListInstallationsResponse = Array; + type AppsListMarketplacePurchasesForAuthenticatedUserResponse = Array< + AppsListMarketplacePurchasesForAuthenticatedUserResponseItem + >; + type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse = Array< + AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItem + >; + type AppsListPlansResponse = Array; + type AppsListPlansStubbedResponse = Array; + type ChecksListAnnotationsResponse = Array; + type CodesOfConductListConductCodesResponse = Array< + CodesOfConductListConductCodesResponseItem + >; + type GistsListResponse = Array; + type GistsListCommentsResponse = Array; + type GistsListCommitsResponse = Array; + type GistsListForksResponse = Array; + type GistsListPublicResponse = Array; + type GistsListPublicForUserResponse = Array< + GistsListPublicForUserResponseItem + >; + type GistsListStarredResponse = Array; + type GitListMatchingRefsResponse = Array; + type GitignoreListTemplatesResponse = Array; + type IssuesAddLabelsResponse = Array; + type IssuesListResponse = Array; + type IssuesListAssigneesResponse = Array; + type IssuesListCommentsResponse = Array; + type IssuesListCommentsForRepoResponse = Array< + IssuesListCommentsForRepoResponseItem + >; + type IssuesListEventsResponse = Array; + type IssuesListEventsForRepoResponse = Array< + IssuesListEventsForRepoResponseItem + >; + type IssuesListEventsForTimelineResponse = Array< + IssuesListEventsForTimelineResponseItem + >; + type IssuesListForAuthenticatedUserResponse = Array< + IssuesListForAuthenticatedUserResponseItem + >; + type IssuesListForOrgResponse = Array; + type IssuesListForRepoResponse = Array; + type IssuesListLabelsForMilestoneResponse = Array< + IssuesListLabelsForMilestoneResponseItem + >; + type IssuesListLabelsForRepoResponse = Array< + IssuesListLabelsForRepoResponseItem + >; + type IssuesListLabelsOnIssueResponse = Array< + IssuesListLabelsOnIssueResponseItem + >; + type IssuesListMilestonesForRepoResponse = Array< + IssuesListMilestonesForRepoResponseItem + >; + type IssuesRemoveLabelResponse = Array; + type IssuesReplaceLabelsResponse = Array; + type LicensesListResponse = Array; + type LicensesListCommonlyUsedResponse = Array< + LicensesListCommonlyUsedResponseItem + >; + type MigrationsGetCommitAuthorsResponse = Array< + MigrationsGetCommitAuthorsResponseItem + >; + type MigrationsGetLargeFilesResponse = Array< + MigrationsGetLargeFilesResponseItem + >; + type MigrationsListForAuthenticatedUserResponse = Array< + MigrationsListForAuthenticatedUserResponseItem + >; + type MigrationsListForOrgResponse = Array; + type OauthAuthorizationsListAuthorizationsResponse = Array< + OauthAuthorizationsListAuthorizationsResponseItem + >; + type OauthAuthorizationsListGrantsResponse = Array< + OauthAuthorizationsListGrantsResponseItem + >; + type OrgsListResponse = Array; + type OrgsListBlockedUsersResponse = Array; + type OrgsListForAuthenticatedUserResponse = Array< + OrgsListForAuthenticatedUserResponseItem + >; + type OrgsListForUserResponse = Array; + type OrgsListHooksResponse = Array; + type OrgsListInvitationTeamsResponse = Array< + OrgsListInvitationTeamsResponseItem + >; + type OrgsListMembersResponse = Array; + type OrgsListMembershipsResponse = Array; + type OrgsListOutsideCollaboratorsResponse = Array< + OrgsListOutsideCollaboratorsResponseItem + >; + type OrgsListPendingInvitationsResponse = Array< + OrgsListPendingInvitationsResponseItem + >; + type OrgsListPublicMembersResponse = Array; + type ProjectsListCardsResponse = Array; + type ProjectsListCollaboratorsResponse = Array< + ProjectsListCollaboratorsResponseItem + >; + type ProjectsListColumnsResponse = Array; + type ProjectsListForOrgResponse = Array; + type ProjectsListForRepoResponse = Array; + type ProjectsListForUserResponse = Array; + type PullsGetCommentsForReviewResponse = Array< + PullsGetCommentsForReviewResponseItem + >; + type PullsListResponse = Array; + type PullsListCommentsResponse = Array; + type PullsListCommentsForRepoResponse = Array< + PullsListCommentsForRepoResponseItem + >; + type PullsListCommitsResponse = Array; + type PullsListFilesResponse = Array; + type PullsListReviewsResponse = Array; + type ReactionsListForCommitCommentResponse = Array< + ReactionsListForCommitCommentResponseItem + >; + type ReactionsListForIssueResponse = Array; + type ReactionsListForIssueCommentResponse = Array< + ReactionsListForIssueCommentResponseItem + >; + type ReactionsListForPullRequestReviewCommentResponse = Array< + ReactionsListForPullRequestReviewCommentResponseItem + >; + type ReactionsListForTeamDiscussionResponse = Array< + ReactionsListForTeamDiscussionResponseItem + >; + type ReactionsListForTeamDiscussionCommentResponse = Array< + ReactionsListForTeamDiscussionCommentResponseItem + >; + type ReposAddProtectedBranchAppRestrictionsResponse = Array< + ReposAddProtectedBranchAppRestrictionsResponseItem + >; + type ReposAddProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposAddProtectedBranchTeamRestrictionsResponse = Array< + ReposAddProtectedBranchTeamRestrictionsResponseItem + >; + type ReposAddProtectedBranchUserRestrictionsResponse = Array< + ReposAddProtectedBranchUserRestrictionsResponseItem + >; + type ReposGetAppsWithAccessToProtectedBranchResponse = Array< + ReposGetAppsWithAccessToProtectedBranchResponseItem + >; + type ReposGetCodeFrequencyStatsResponse = Array>; + type ReposGetCommitActivityStatsResponse = Array< + ReposGetCommitActivityStatsResponseItem + >; + type ReposGetContributorsStatsResponse = Array< + ReposGetContributorsStatsResponseItem + >; + type ReposGetPunchCardStatsResponse = Array>; + type ReposGetTeamsWithAccessToProtectedBranchResponse = Array< + ReposGetTeamsWithAccessToProtectedBranchResponseItem + >; + type ReposGetTopPathsResponse = Array; + type ReposGetTopReferrersResponse = Array; + type ReposGetUsersWithAccessToProtectedBranchResponse = Array< + ReposGetUsersWithAccessToProtectedBranchResponseItem + >; + type ReposListAppsWithAccessToProtectedBranchResponse = Array< + ReposListAppsWithAccessToProtectedBranchResponseItem + >; + type ReposListAssetsForReleaseResponse = Array< + ReposListAssetsForReleaseResponseItem + >; + type ReposListBranchesResponse = Array; + type ReposListBranchesForHeadCommitResponse = Array< + ReposListBranchesForHeadCommitResponseItem + >; + type ReposListCollaboratorsResponse = Array< + ReposListCollaboratorsResponseItem + >; + type ReposListCommentsForCommitResponse = Array< + ReposListCommentsForCommitResponseItem + >; + type ReposListCommitCommentsResponse = Array< + ReposListCommitCommentsResponseItem + >; + type ReposListCommitsResponse = Array; + type ReposListContributorsResponse = Array; + type ReposListDeployKeysResponse = Array; + type ReposListDeploymentStatusesResponse = Array< + ReposListDeploymentStatusesResponseItem + >; + type ReposListDeploymentsResponse = Array; + type ReposListDownloadsResponse = Array; + type ReposListForOrgResponse = Array; + type ReposListForksResponse = Array; + type ReposListHooksResponse = Array; + type ReposListInvitationsResponse = Array; + type ReposListInvitationsForAuthenticatedUserResponse = Array< + ReposListInvitationsForAuthenticatedUserResponseItem + >; + type ReposListPagesBuildsResponse = Array; + type ReposListProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposListProtectedBranchTeamRestrictionsResponse = Array< + ReposListProtectedBranchTeamRestrictionsResponseItem + >; + type ReposListProtectedBranchUserRestrictionsResponse = Array< + ReposListProtectedBranchUserRestrictionsResponseItem + >; + type ReposListPublicResponse = Array; + type ReposListPullRequestsAssociatedWithCommitResponse = Array< + ReposListPullRequestsAssociatedWithCommitResponseItem + >; + type ReposListReleasesResponse = Array; + type ReposListStatusesForRefResponse = Array< + ReposListStatusesForRefResponseItem + >; + type ReposListTagsResponse = Array; + type ReposListTeamsResponse = Array; + type ReposListTeamsWithAccessToProtectedBranchResponse = Array< + ReposListTeamsWithAccessToProtectedBranchResponseItem + >; + type ReposListUsersWithAccessToProtectedBranchResponse = Array< + ReposListUsersWithAccessToProtectedBranchResponseItem + >; + type ReposRemoveProtectedBranchAppRestrictionsResponse = Array< + ReposRemoveProtectedBranchAppRestrictionsResponseItem + >; + type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposRemoveProtectedBranchTeamRestrictionsResponse = Array< + ReposRemoveProtectedBranchTeamRestrictionsResponseItem + >; + type ReposRemoveProtectedBranchUserRestrictionsResponse = Array< + ReposRemoveProtectedBranchUserRestrictionsResponseItem + >; + type ReposReplaceProtectedBranchAppRestrictionsResponse = Array< + ReposReplaceProtectedBranchAppRestrictionsResponseItem + >; + type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse = Array< + string + >; + type ReposReplaceProtectedBranchTeamRestrictionsResponse = Array< + ReposReplaceProtectedBranchTeamRestrictionsResponseItem + >; + type ReposReplaceProtectedBranchUserRestrictionsResponse = Array< + ReposReplaceProtectedBranchUserRestrictionsResponseItem + >; + type TeamsListResponse = Array; + type TeamsListChildResponse = Array; + type TeamsListDiscussionCommentsResponse = Array< + TeamsListDiscussionCommentsResponseItem + >; + type TeamsListDiscussionsResponse = Array; + type TeamsListForAuthenticatedUserResponse = Array< + TeamsListForAuthenticatedUserResponseItem + >; + type TeamsListMembersResponse = Array; + type TeamsListPendingInvitationsResponse = Array< + TeamsListPendingInvitationsResponseItem + >; + type TeamsListProjectsResponse = Array; + type TeamsListReposResponse = Array; + type UsersAddEmailsResponse = Array; + type UsersListResponse = Array; + type UsersListBlockedResponse = Array; + type UsersListEmailsResponse = Array; + type UsersListFollowersForAuthenticatedUserResponse = Array< + UsersListFollowersForAuthenticatedUserResponseItem + >; + type UsersListFollowersForUserResponse = Array< + UsersListFollowersForUserResponseItem + >; + type UsersListFollowingForAuthenticatedUserResponse = Array< + UsersListFollowingForAuthenticatedUserResponseItem + >; + type UsersListFollowingForUserResponse = Array< + UsersListFollowingForUserResponseItem + >; + type UsersListGpgKeysResponse = Array; + type UsersListGpgKeysForUserResponse = Array< + UsersListGpgKeysForUserResponseItem + >; + type UsersListPublicEmailsResponse = Array; + type UsersListPublicKeysResponse = Array; + type UsersListPublicKeysForUserResponse = Array< + UsersListPublicKeysForUserResponseItem + >; + type UsersTogglePrimaryEmailVisibilityResponse = Array< + UsersTogglePrimaryEmailVisibilityResponseItem + >; + + // param types + export type ActivityCheckStarringRepoParams = { + owner: string; + + repo: string; + }; + export type ActivityDeleteRepoSubscriptionParams = { + owner: string; + + repo: string; + }; + export type ActivityDeleteThreadSubscriptionParams = { + thread_id: number; + }; + export type ActivityGetRepoSubscriptionParams = { + owner: string; + + repo: string; + }; + export type ActivityGetThreadParams = { + thread_id: number; + }; + export type ActivityGetThreadSubscriptionParams = { + thread_id: number; + }; + export type ActivityListEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListNotificationsParams = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * 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; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only show notifications 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; + }; + export type ActivityListNotificationsForRepoParams = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * 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; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only show notifications 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; + }; + export type ActivityListPublicEventsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ActivityListPublicEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ActivityListPublicEventsForRepoNetworkParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityListPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListReceivedEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListReceivedPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListRepoEventsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityListReposStarredByAuthenticatedUserParams = { + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + }; + export type ActivityListReposStarredByUserParams = { + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + + username: string; + }; + export type ActivityListReposWatchedByUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type ActivityListStargazersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityListWatchedReposForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ActivityListWatchersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActivityMarkAsReadParams = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. 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; + }; + export type ActivityMarkNotificationsAsReadForRepoParams = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. 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; + + owner: string; + + repo: string; + }; + export type ActivityMarkThreadAsReadParams = { + thread_id: number; + }; + export type ActivitySetRepoSubscriptionParams = { + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; + + owner: string; + + repo: string; + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; + }; + export type ActivitySetThreadSubscriptionParams = { + /** + * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + */ + ignored?: boolean; + + thread_id: number; + }; + export type ActivityStarRepoParams = { + owner: string; + + repo: string; + }; + export type ActivityUnstarRepoParams = { + owner: string; + + repo: string; + }; + export type AppsAddRepoToInstallationParams = { + installation_id: number; + + repository_id: number; + }; + export type AppsCheckAccountIsAssociatedWithAnyParams = { + account_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsCheckAccountIsAssociatedWithAnyStubbedParams = { + account_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsCreateContentAttachmentParams = { + /** + * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + */ + body: string; + + content_reference_id: number; + /** + * The title of the content attachment displayed in the body or comment of an issue or pull request. + */ + title: string; + }; + export type AppsCreateFromManifestParams = { + code: string; + }; + export type AppsCreateInstallationTokenParams = { + installation_id: number; + /** + * The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see "[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions)." + */ + permissions?: AppsCreateInstallationTokenParamsPermissions; + /** + * The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the "[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token. + */ + repository_ids?: number[]; + }; + export type AppsDeleteInstallationParams = { + installation_id: number; + }; + export type AppsFindOrgInstallationParams = { + org: string; + }; + export type AppsFindRepoInstallationParams = { + owner: string; + + repo: string; + }; + export type AppsFindUserInstallationParams = { + username: string; + }; + export type AppsGetBySlugParams = { + app_slug: string; + }; + export type AppsGetInstallationParams = { + installation_id: number; + }; + export type AppsGetOrgInstallationParams = { + org: string; + }; + export type AppsGetRepoInstallationParams = { + owner: string; + + repo: string; + }; + export type AppsGetUserInstallationParams = { + username: string; + }; + export type AppsListAccountsUserOrOrgOnPlanParams = { + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + }; + export type AppsListAccountsUserOrOrgOnPlanStubbedParams = { + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + }; + export type AppsListInstallationReposForAuthenticatedUserParams = { + installation_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListInstallationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListInstallationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListMarketplacePurchasesForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListPlansParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListPlansStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type AppsRemoveRepoFromInstallationParams = { + installation_id: number; + + repository_id: number; + }; + export type ChecksCreateParams = { + /** + * 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://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksCreateParamsActions[]; + /** + * 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; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required"; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * 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. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description. + */ + output?: ChecksCreateParamsOutput; + + owner: string; + + repo: string; + /** + * 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; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type ChecksCreateSuiteParams = { + /** + * The sha of the head commit. + */ + head_sha: string; + + owner: string; + + repo: string; + }; + export type ChecksGetParams = { + check_run_id: number; + + owner: string; + + repo: string; + }; + export type ChecksGetSuiteParams = { + check_suite_id: number; + + owner: string; + + repo: string; + }; + export type ChecksListAnnotationsParams = { + check_run_id: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ChecksListForRefParams = { + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type ChecksListForSuiteParams = { + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + + check_suite_id: number; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type ChecksListSuitesForRefParams = { + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + /** + * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + */ + check_name?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + }; + export type ChecksRerequestSuiteParams = { + check_suite_id: number; + + owner: string; + + repo: string; + }; + export type ChecksSetSuitesPreferencesParams = { + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; + + owner: string; + + repo: string; + }; + export type ChecksUpdateParams = { + /** + * 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. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksUpdateParamsActions[]; + + check_run_id: number; + /** + * 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; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required"; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * 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. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description. + */ + output?: ChecksUpdateParamsOutput; + + owner: string; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + }; + export type CodesOfConductGetConductCodeParams = { + key: string; + }; + export type CodesOfConductGetForRepoParams = { + owner: string; + + repo: string; + }; + export type GistsCheckIsStarredParams = { + gist_id: string; + }; + export type GistsCreateParams = { + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`. + */ + files: GistsCreateParamsFiles; + /** + * When `true`, the gist will be public and available for anyone to see. + */ + public?: boolean; + }; + export type GistsCreateCommentParams = { + /** + * The comment text. + */ + body: string; + + gist_id: string; + }; + export type GistsDeleteParams = { + gist_id: string; + }; + export type GistsDeleteCommentParams = { + comment_id: number; + + gist_id: string; + }; + export type GistsForkParams = { + gist_id: string; + }; + export type GistsGetParams = { + gist_id: string; + }; + export type GistsGetCommentParams = { + comment_id: number; + + gist_id: string; + }; + export type GistsGetRevisionParams = { + gist_id: string; + + sha: string; + }; + export type GistsListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + }; + export type GistsListCommentsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type GistsListCommitsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type GistsListForksParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type GistsListPublicParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + }; + export type GistsListPublicForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + + username: string; + }; + export type GistsListStarredParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + }; + export type GistsStarParams = { + gist_id: string; + }; + export type GistsUnstarParams = { + gist_id: string; + }; + export type GistsUpdateParams = { + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content that make up this gist. + */ + files?: GistsUpdateParamsFiles; + + gist_id: string; + }; + export type GistsUpdateCommentParams = { + /** + * The comment text. + */ + body: string; + + comment_id: number; + + gist_id: string; + }; + export type GitCreateBlobParams = { + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; + + owner: string; + + repo: string; + }; + export type GitCreateCommitParams = { + /** + * 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?: GitCreateCommitParamsAuthor; + /** + * 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?: GitCreateCommitParamsCommitter; + /** + * The commit message + */ + message: string; + + owner: string; + /** + * 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[]; + + repo: string; + /** + * 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; + /** + * The SHA of the tree object this commit points to + */ + tree: string; + }; + export type GitCreateRefParams = { + owner: string; + /** + * 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; + + repo: string; + /** + * The SHA1 value for this reference. + */ + sha: string; + }; + export type GitCreateTagParams = { + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + + owner: string; + + repo: string; + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * An object with information about the individual creating the tag. + */ + tagger?: GitCreateTagParamsTagger; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; + }; + export type GitCreateTreeParams = { + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; + + owner: string; + + repo: string; + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: GitCreateTreeParamsTree[]; + }; + export type GitDeleteRefParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type GitGetBlobParams = { + file_sha: string; + + owner: string; + + repo: string; + }; + export type GitGetCommitParams = { + commit_sha: string; + + owner: string; + + repo: string; + }; + export type GitGetRefParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type GitGetTagParams = { + owner: string; + + repo: string; + + tag_sha: string; + }; + export type GitGetTreeParams = { + owner: string; + + recursive?: "1"; + + repo: string; + + tree_sha: string; + }; + export type GitListMatchingRefsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + }; + export type GitListRefsParams = { + /** + * Filter by sub-namespace (reference prefix). Most commen examples would be `'heads/'` and `'tags/'` to retrieve branches or tags + */ + namespace?: string; + + owner: string; + + page?: number; + + per_page?: number; + + repo: string; + }; + export type GitUpdateRefParams = { + /** + * 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. + */ + force?: boolean; + + owner: string; + + ref: string; + + repo: string; + /** + * The SHA1 value to set this reference to + */ + sha: string; + }; + export type GitignoreGetTemplateParams = { + name: string; + }; + export type InteractionsAddOrUpdateRestrictionsForOrgParams = { + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; + + org: string; + }; + export type InteractionsAddOrUpdateRestrictionsForRepoParams = { + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; + + owner: string; + + repo: string; + }; + export type InteractionsGetRestrictionsForOrgParams = { + org: string; + }; + export type InteractionsGetRestrictionsForRepoParams = { + owner: string; + + repo: string; + }; + export type InteractionsRemoveRestrictionsForOrgParams = { + org: string; + }; + export type InteractionsRemoveRestrictionsForRepoParams = { + owner: string; + + repo: string; + }; + export type IssuesAddAssigneesParamsDeprecatedNumber = { + /** + * 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[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesAddAssigneesParams = { + /** + * 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[]; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesAddLabelsParamsDeprecatedNumber = { + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** 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. + */ + labels: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesAddLabelsParams = { + issue_number: number; + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** 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. + */ + labels: string[]; + + owner: string; + + repo: string; + }; + export type IssuesCheckAssigneeParams = { + assignee: string; + + owner: string; + + repo: string; + }; + export type IssuesCreateParamsDeprecatedAssignee = { + /** + * 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.**_ + * @deprecated "assignee" parameter has been deprecated and will be removed in future + */ + assignee?: string; + /** + * 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[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + + owner: string; + + repo: string; + /** + * The title of the issue. + */ + title: string; + }; + export type IssuesCreateParams = { + /** + * 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[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + + owner: string; + + repo: string; + /** + * The title of the issue. + */ + title: string; + }; + export type IssuesCreateCommentParamsDeprecatedNumber = { + /** + * The contents of the comment. + */ + body: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesCreateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesCreateLabelParams = { + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color: string; + /** + * A short description of the label. + */ + description?: string; + /** + * 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.com](http://emoji-cheat-sheet.com/). + */ + name: string; + + owner: string; + + repo: string; + }; + export type IssuesCreateMilestoneParams = { + /** + * A description of the milestone. + */ + description?: string; + /** + * 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; + + owner: string; + + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title: string; + }; + export type IssuesDeleteCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type IssuesDeleteLabelParams = { + name: string; + + owner: string; + + repo: string; + }; + export type IssuesDeleteMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesDeleteMilestoneParams = { + milestone_number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetParams = { + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetCommentParams = { + comment_id: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesGetEventParams = { + event_id: number; + + owner: string; + + repo: string; + }; + export type IssuesGetLabelParams = { + name: string; + + owner: string; + + repo: string; + }; + export type IssuesGetMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesGetMilestoneParams = { + milestone_number: number; + + owner: string; + + repo: string; + }; + export type IssuesListParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListAssigneesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListCommentsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + }; + export type IssuesListCommentsParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + }; + export type IssuesListCommentsForRepoParams = { + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + + owner: string; + + repo: string; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Either `created` or `updated`. + */ + sort?: "created" | "updated"; + }; + export type IssuesListEventsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsForTimelineParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListEventsForTimelineParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListForAuthenticatedUserParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListForOrgParams = { + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListForRepoParams = { + /** + * 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; + /** + * The user that created the issue. + */ + creator?: string; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + /** + * 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; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesListLabelsForMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsForMilestoneParams = { + milestone_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsOnIssueParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListLabelsOnIssueParams = { + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type IssuesListMilestonesForRepoParams = { + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type IssuesLockParamsDeprecatedNumber = { + /** + * 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` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesLockParams = { + issue_number: number; + /** + * 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` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + + owner: string; + + repo: string; + }; + export type IssuesRemoveAssigneesParamsDeprecatedNumber = { + /** + * 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[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveAssigneesParams = { + /** + * 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[]; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelParamsDeprecatedNumber = { + name: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelParams = { + issue_number: number; + + name: string; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesRemoveLabelsParams = { + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesReplaceLabelsParamsDeprecatedNumber = { + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** 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. + */ + labels?: string[]; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesReplaceLabelsParams = { + issue_number: number; + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** 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. + */ + labels?: string[]; + + owner: string; + + repo: string; + }; + export type IssuesUnlockParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type IssuesUnlockParams = { + issue_number: number; + + owner: string; + + repo: string; + }; + export type IssuesUpdateParamsDeprecatedNumber = { + /** + * Logins for Users 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. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + /** + * 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. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; + }; + export type IssuesUpdateParamsDeprecatedAssignee = { + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + * @deprecated "assignee" parameter has been deprecated and will be removed in future + */ + assignee?: string; + /** + * Logins for Users 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. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + + issue_number: number; + /** + * 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. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + + owner: string; + + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; + }; + export type IssuesUpdateParams = { + /** + * Logins for Users 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. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; + /** + * The contents of the issue. + */ + body?: string; + + issue_number: number; + /** + * 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. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + + owner: string; + + repo: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the issue. + */ + title?: string; + }; + export type IssuesUpdateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + + comment_id: number; + + owner: string; + + repo: string; + }; + export type IssuesUpdateLabelParams = { + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + + current_name: string; + /** + * A short description of the label. + */ + description?: string; + /** + * 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.com](http://emoji-cheat-sheet.com/). + */ + name?: string; + + owner: string; + + repo: string; + }; + export type IssuesUpdateMilestoneParamsDeprecatedNumber = { + /** + * A description of the milestone. + */ + description?: string; + /** + * 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; + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title?: string; + }; + export type IssuesUpdateMilestoneParams = { + /** + * A description of the milestone. + */ + description?: string; + /** + * 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; + + milestone_number: number; + + owner: string; + + repo: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the milestone. + */ + title?: string; + }; + export type LicensesGetParams = { + license: string; + }; + export type LicensesGetForRepoParams = { + owner: string; + + repo: string; + }; + export type MarkdownRenderParams = { + /** + * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + */ + context?: string; + /** + * The rendering mode. Can be either: + * \* `markdown` to render a document in plain Markdown, just like README.md files are rendered. + * \* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests. + */ + mode?: "markdown" | "gfm"; + /** + * The Markdown text to render in HTML. Markdown content must be 400 KB or less. + */ + text: string; + }; + export type MarkdownRenderRawParams = { + data: string; + }; + export type MigrationsCancelImportParams = { + owner: string; + + repo: string; + }; + export type MigrationsDeleteArchiveForAuthenticatedUserParams = { + migration_id: number; + }; + export type MigrationsDeleteArchiveForOrgParams = { + migration_id: number; + + org: string; + }; + export type MigrationsGetArchiveForAuthenticatedUserParams = { + migration_id: number; + }; + export type MigrationsGetArchiveForOrgParams = { + migration_id: number; + + org: string; + }; + export type MigrationsGetCommitAuthorsParams = { + owner: string; + + repo: string; + /** + * Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step. + */ + since?: string; + }; + export type MigrationsGetImportProgressParams = { + owner: string; + + repo: string; + }; + export type MigrationsGetLargeFilesParams = { + owner: string; + + repo: string; + }; + export type MigrationsGetStatusForAuthenticatedUserParams = { + migration_id: number; + }; + export type MigrationsGetStatusForOrgParams = { + migration_id: number; + + org: string; + }; + export type MigrationsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type MigrationsListForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type MigrationsMapCommitAuthorParams = { + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; + + owner: string; + + repo: string; + }; + export type MigrationsSetLfsPreferenceParams = { + owner: string; + + repo: string; + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; + }; + export type MigrationsStartForAuthenticatedUserParams = { + /** + * Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size. + */ + exclude_attachments?: boolean; + /** + * Locks the `repositories` to prevent changes during the migration when set to `true`. + */ + lock_repositories?: boolean; + /** + * An array of repositories to include in the migration. + */ + repositories: string[]; + }; + export type MigrationsStartForOrgParams = { + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + + org: string; + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; + }; + export type MigrationsStartImportParams = { + owner: string; + + repo: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that 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. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; + }; + export type MigrationsUnlockRepoForAuthenticatedUserParams = { + migration_id: number; + + repo_name: string; + }; + export type MigrationsUnlockRepoForOrgParams = { + migration_id: number; + + org: string; + + repo_name: string; + }; + export type MigrationsUpdateImportParams = { + owner: string; + + repo: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; + }; + export type OauthAuthorizationsCheckAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsCreateAuthorizationParams = { + /** + * The 20 character OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The 40 character OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsDeleteAuthorizationParams = { + authorization_id: number; + }; + export type OauthAuthorizationsDeleteGrantParams = { + grant_id: number; + }; + export type OauthAuthorizationsGetAuthorizationParams = { + authorization_id: number; + }; + export type OauthAuthorizationsGetGrantParams = { + grant_id: number; + }; + export type OauthAuthorizationsGetOrCreateAuthorizationForAppParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint). + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + + fingerprint: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams = { + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + + fingerprint: string; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + }; + export type OauthAuthorizationsListAuthorizationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OauthAuthorizationsListGrantsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OauthAuthorizationsResetAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsRevokeAuthorizationForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsRevokeGrantForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsUpdateAuthorizationParams = { + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + + authorization_id: number; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * Replaces the authorization scopes with these. + */ + scopes?: string[]; + }; + export type OrgsAddOrUpdateMembershipParams = { + org: string; + /** + * 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. + */ + role?: "admin" | "member"; + + username: string; + }; + export type OrgsBlockUserParams = { + org: string; + + username: string; + }; + export type OrgsCheckBlockedUserParams = { + org: string; + + username: string; + }; + export type OrgsCheckMembershipParams = { + org: string; + + username: string; + }; + export type OrgsCheckPublicMembershipParams = { + org: string; + + username: string; + }; + export type OrgsConcealMembershipParams = { + org: string; + + username: string; + }; + export type OrgsConvertMemberToOutsideCollaboratorParams = { + org: string; + + username: string; + }; + export type OrgsCreateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). + */ + config: OrgsCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Must be passed as "web". + */ + name: string; + + org: string; + }; + export type OrgsCreateInvitationParams = { + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + + org: string; + /** + * Specify role for new member. Can be one of: + * \* `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. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; + }; + export type OrgsDeleteHookParams = { + hook_id: number; + + org: string; + }; + export type OrgsGetParams = { + org: string; + }; + export type OrgsGetHookParams = { + hook_id: number; + + org: string; + }; + export type OrgsGetMembershipParams = { + org: string; + + username: string; + }; + export type OrgsGetMembershipForAuthenticatedUserParams = { + org: string; + }; + export type OrgsListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last Organization that you've seen. + */ + since?: string; + }; + export type OrgsListBlockedUsersParams = { + org: string; + }; + export type OrgsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type OrgsListHooksParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListInstallationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListInvitationTeamsParams = { + invitation_id: number; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListMembersParams = { + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + }; + export type OrgsListMembershipsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; + }; + export type OrgsListOutsideCollaboratorsParams = { + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListPendingInvitationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsListPublicMembersParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type OrgsPingHookParams = { + hook_id: number; + + org: string; + }; + export type OrgsPublicizeMembershipParams = { + org: string; + + username: string; + }; + export type OrgsRemoveMemberParams = { + org: string; + + username: string; + }; + export type OrgsRemoveMembershipParams = { + org: string; + + username: string; + }; + export type OrgsRemoveOutsideCollaboratorParams = { + org: string; + + username: string; + }; + export type OrgsUnblockUserParams = { + org: string; + + username: string; + }; + export type OrgsUpdateParams = { + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * The description of the company. + */ + description?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * Toggles whether organization projects are enabled for the organization. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repository projects are enabled for repositories that belong to the organization. + */ + has_repository_projects?: boolean; + /** + * The location. + */ + location?: string; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on [GitHub Business Cloud](https://github.com/pricing/business-cloud). + * \* `none` - only admin members can create repositories. + * **Note:** Using this parameter will override values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only admin members can create repositories. + * Default: `true` + * **Note:** Another parameter can override the this parameter. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. **Note:** Another parameter can override the this parameter. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_can_create_repositories?: boolean; + /** + * The shorthand name of the company. + */ + name?: string; + + org: string; + }; + export type OrgsUpdateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). + */ + config?: OrgsUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + + hook_id: number; + + org: string; + }; + export type OrgsUpdateMembershipParams = { + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; + }; + export type ProjectsAddCollaboratorParams = { + /** + * The permission to grant the collaborator. 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://developer.github.com/v3/#http-verbs)." Can be one of: + * \* `read` - can read, but not write to or administer this project. + * \* `write` - can read and write, but not administer this project. + * \* `admin` - can read, write and administer this project. + */ + permission?: "read" | "write" | "admin"; + + project_id: number; + + username: string; + }; + export type ProjectsCreateCardParams = { + column_id: number; + /** + * The issue or pull request id you want to associate with this card. You can use the [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. + * **Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`. + */ + content_id?: number; + /** + * **Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id. + */ + content_type?: string; + /** + * The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`. + */ + note?: string; + }; + export type ProjectsCreateColumnParams = { + /** + * The name of the column. + */ + name: string; + + project_id: number; + }; + export type ProjectsCreateForAuthenticatedUserParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + }; + export type ProjectsCreateForOrgParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + + org: string; + }; + export type ProjectsCreateForRepoParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + + owner: string; + + repo: string; + }; + export type ProjectsDeleteParams = { + project_id: number; + }; + export type ProjectsDeleteCardParams = { + card_id: number; + }; + export type ProjectsDeleteColumnParams = { + column_id: number; + }; + export type ProjectsGetParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + project_id: number; + }; + export type ProjectsGetCardParams = { + card_id: number; + }; + export type ProjectsGetColumnParams = { + column_id: number; + }; + export type ProjectsListCardsParams = { + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + + column_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ProjectsListCollaboratorsParams = { + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + project_id: number; + }; + export type ProjectsListColumnsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + project_id: number; + }; + export type ProjectsListForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type ProjectsListForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + }; + export type ProjectsListForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + + username: string; + }; + export type ProjectsMoveCardParams = { + card_id: number; + /** + * The `id` value of a column in the same project. + */ + column_id?: number; + /** + * Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`. + */ + position: string; + }; + export type ProjectsMoveColumnParams = { + column_id: number; + /** + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + */ + position: string; + }; + export type ProjectsRemoveCollaboratorParams = { + project_id: number; + + username: string; + }; + export type ProjectsReviewUserPermissionLevelParams = { + project_id: number; + + username: string; + }; + export type ProjectsUpdateParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name?: string; + /** + * The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). + * + * **Note:** Updating a project's `organization_permission` requires `admin` access to the project. + * + * Can be one of: + * \* `read` - Organization members can read, but not write to or administer this project. + * \* `write` - Organization members can read and write, but not administer this project. + * \* `admin` - Organization members can read, write and administer this project. + * \* `none` - Organization members can only see this project if it is public. + */ + organization_permission?: string; + /** + * Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. + * + * Can be one of: + * \* `false` - Anyone can see the project. + * \* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account. + */ + private?: boolean; + + project_id: number; + /** + * State of the project. Either `open` or `closed`. + */ + state?: "open" | "closed"; + }; + export type ProjectsUpdateCardParams = { + /** + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + */ + archived?: boolean; + + card_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`. + */ + note?: string; + }; + export type ProjectsUpdateColumnParams = { + column_id: number; + /** + * The new name of the column. + */ + name: string; + }; + export type PullsCheckIfMergedParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type PullsCheckIfMergedParams = { + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsCreateParams = { + /** + * 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; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; + /** + * 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; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + + owner: string; + + repo: string; + /** + * The title of the new pull request. + */ + title: string; + }; + export type PullsCreateCommentParamsDeprecatedNumber = { + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * **Required with `comfort-fade` preview**. 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; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + + repo: string; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentParamsDeprecatedInReplyTo = { + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported. + * @deprecated "in_reply_to" parameter has been deprecated and will be removed in future + */ + in_reply_to?: number; + /** + * **Required with `comfort-fade` preview**. 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; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentParams = { + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * **Required with `comfort-fade` preview**. 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; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParamsDeprecatedNumber = { + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * **Required with `comfort-fade` preview**. 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; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + + repo: string; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParamsDeprecatedInReplyTo = { + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported. + * @deprecated "in_reply_to" parameter has been deprecated and will be removed in future + */ + in_reply_to?: number; + /** + * **Required with `comfort-fade` preview**. 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; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParams = { + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * **Required with `comfort-fade` preview**. 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; + + owner: string; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + + pull_number: number; + + repo: string; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateFromIssueParams = { + base: string; + + draft?: boolean; + + head: string; + + issue: number; + + maintainer_can_modify?: boolean; + + owner: string; + + repo: string; + }; + export type PullsCreateReviewParamsDeprecatedNumber = { + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; + /** + * 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; + /** + * 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://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type PullsCreateReviewParams = { + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; + /** + * 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; + /** + * 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://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsCreateReviewCommentReplyParams = { + /** + * The text of the review comment. + */ + body: string; + + comment_id: number; + + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsCreateReviewRequestParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; + }; + export type PullsCreateReviewRequestParams = { + owner: string; + + pull_number: number; + + repo: string; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; + }; + export type PullsDeleteCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type PullsDeletePendingReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsDeletePendingReviewParams = { + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsDeleteReviewRequestParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; + }; + export type PullsDeleteReviewRequestParams = { + owner: string; + + pull_number: number; + + repo: string; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; + }; + export type PullsDismissReviewParamsDeprecatedNumber = { + /** + * The message for the pull request review dismissal + */ + message: string; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsDismissReviewParams = { + /** + * The message for the pull request review dismissal + */ + message: string; + + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type PullsGetParams = { + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsGetCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type PullsGetCommentsForReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + review_id: number; + }; + export type PullsGetCommentsForReviewParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsGetReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsGetReviewParams = { + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsListParams = { + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + /** + * 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; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; + }; + export type PullsListCommentsParamsDeprecatedNumber = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + }; + export type PullsListCommentsParams = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + }; + export type PullsListCommentsForRepoParams = { + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + }; + export type PullsListCommitsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListCommitsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsListFilesParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListFilesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsListReviewRequestsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListReviewRequestsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsListReviewsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type PullsListReviewsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsMergeParamsDeprecatedNumber = { + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + }; + export type PullsMergeParams = { + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; + + owner: string; + + pull_number: number; + + repo: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + }; + export type PullsSubmitReviewParamsDeprecatedNumber = { + /** + * The body text of the pull request review + */ + body?: string; + /** + * 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. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsSubmitReviewParams = { + /** + * The body text of the pull request review + */ + body?: string; + /** + * 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. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type PullsUpdateParamsDeprecatedNumber = { + /** + * 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; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the pull request. + */ + title?: string; + }; + export type PullsUpdateParams = { + /** + * 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; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + + owner: string; + + pull_number: number; + + repo: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The title of the pull request. + */ + title?: string; + }; + export type PullsUpdateBranchParams = { + /** + * 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 on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; + + owner: string; + + pull_number: number; + + repo: string; + }; + export type PullsUpdateCommentParams = { + /** + * The text of the reply to the review comment. + */ + body: string; + + comment_id: number; + + owner: string; + + repo: string; + }; + export type PullsUpdateReviewParamsDeprecatedNumber = { + /** + * The body text of the pull request review. + */ + body: string; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsUpdateReviewParams = { + /** + * The body text of the pull request review. + */ + body: string; + + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type ReactionsCreateForCommitCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForIssueParamsDeprecatedNumber = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForIssueParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + issue_number: number; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForIssueCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForPullRequestReviewCommentParams = { + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForTeamDiscussionParams = { + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; + }; + export type ReactionsCreateForTeamDiscussionCommentParams = { + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; + }; + export type ReactionsDeleteParams = { + reaction_id: number; + }; + export type ReactionsListForCommitCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForIssueParamsDeprecatedNumber = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForIssueParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + issue_number: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForIssueCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForPullRequestReviewCommentParams = { + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReactionsListForTeamDiscussionParams = { + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type ReactionsListForTeamDiscussionCommentParams = { + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type ReposAcceptInvitationParams = { + invitation_id: number; + }; + export type ReposAddCollaboratorParams = { + owner: string; + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + */ + permission?: "pull" | "push" | "admin"; + + repo: string; + + username: string; + }; + export type ReposAddDeployKeyParams = { + /** + * The contents of the key. + */ + key: string; + + owner: string; + /** + * 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://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + + repo: string; + /** + * A name for the key. + */ + title?: string; + }; + export type ReposAddProtectedBranchAdminEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchRequiredSignaturesParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + contexts: string[]; + + owner: string; + + repo: string; + }; + export type ReposAddProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + teams: string[]; + }; + export type ReposAddProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + users: string[]; + }; + export type ReposCheckCollaboratorParams = { + owner: string; + + repo: string; + + username: string; + }; + export type ReposCheckVulnerabilityAlertsParams = { + owner: string; + + repo: string; + }; + export type ReposCompareCommitsParams = { + base: string; + + head: string; + + owner: string; + + repo: string; + }; + export type ReposCreateCommitCommentParamsDeprecatedSha = { + /** + * The contents of the comment. + */ + body: string; + + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + + repo: string; + /** + * @deprecated "sha" parameter renamed to "commit_sha" + */ + sha: string; + }; + export type ReposCreateCommitCommentParamsDeprecatedLine = { + /** + * The contents of the comment. + */ + body: string; + + commit_sha: string; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + * @deprecated "line" parameter has been deprecated and will be removed in future + */ + line?: number; + + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + + repo: string; + }; + export type ReposCreateCommitCommentParams = { + /** + * The contents of the comment. + */ + body: string; + + commit_sha: string; + + owner: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + + repo: string; + }; + export type ReposCreateDeploymentParams = { + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * Short description of the deployment. + */ + description?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + + owner: string; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + production_environment?: boolean; + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + + repo: string; + /** + * The [status](https://developer.github.com/v3/repos/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[]; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; + }; + export type ReposCreateDeploymentStatusParams = { + /** + * 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` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; + + deployment_id: number; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * 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: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + log_url?: string; + + owner: string; + + repo: string; + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * 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`. + */ + target_url?: string; + }; + export type ReposCreateDispatchEventParams = { + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + }; + export type ReposCreateForAuthenticatedUserParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * 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; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * 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. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.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; + /** + * The name of the repository. + */ + name: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * 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; + }; + export type ReposCreateForkParams = { + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config: ReposCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateInOrgParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * A short description of the repository. + */ + description?: string; + /** + * 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; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * 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. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.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; + /** + * The name of the repository. + */ + name: string; + + org: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * 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; + }; + export type ReposCreateOrUpdateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateOrUpdateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateOrUpdateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + }; + export type ReposCreateReleaseParams = { + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * The name of the release. + */ + name?: string; + + owner: string; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; + + repo: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * 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 (usually `master`). + */ + target_commitish?: string; + }; + export type ReposCreateStatusParams = { + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; + /** + * A short description of the status. + */ + description?: string; + + owner: string; + + repo: string; + + sha: string; + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * 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; + }; + export type ReposCreateUsingTemplateParams = { + /** + * A short description of the new repository. + */ + description?: string; + /** + * The name of the new repository. + */ + name: string; + /** + * 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; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; + + template_owner: string; + + template_repo: string; + }; + export type ReposDeclineInvitationParams = { + invitation_id: number; + }; + export type ReposDeleteParams = { + owner: string; + + repo: string; + }; + export type ReposDeleteCommitCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteDownloadParams = { + download_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteFileParams = { + /** + * object containing information about the author. + */ + author?: ReposDeleteFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: ReposDeleteFileParamsCommitter; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; + }; + export type ReposDeleteHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteInvitationParams = { + invitation_id: number; + + owner: string; + + repo: string; + }; + export type ReposDeleteReleaseParams = { + owner: string; + + release_id: number; + + repo: string; + }; + export type ReposDeleteReleaseAssetParams = { + asset_id: number; + + owner: string; + + repo: string; + }; + export type ReposDisableAutomatedSecurityFixesParams = { + owner: string; + + repo: string; + }; + export type ReposDisablePagesSiteParams = { + owner: string; + + repo: string; + }; + export type ReposDisableVulnerabilityAlertsParams = { + owner: string; + + repo: string; + }; + export type ReposEnableAutomatedSecurityFixesParams = { + owner: string; + + repo: string; + }; + export type ReposEnablePagesSiteParams = { + owner: string; + + repo: string; + + source?: ReposEnablePagesSiteParamsSource; + }; + export type ReposEnableVulnerabilityAlertsParams = { + owner: string; + + repo: string; + }; + export type ReposGetParams = { + owner: string; + + repo: string; + }; + export type ReposGetAppsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetArchiveLinkParams = { + archive_format: string; + + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetBranchProtectionParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetClonesParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + + repo: string; + }; + export type ReposGetCodeFrequencyStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetCollaboratorPermissionLevelParams = { + owner: string; + + repo: string; + + username: string; + }; + export type ReposGetCombinedStatusForRefParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetCommitParamsDeprecatedSha = { + owner: string; + + repo: string; + /** + * @deprecated "sha" parameter renamed to "ref" + */ + sha: string; + }; + export type ReposGetCommitParamsDeprecatedCommitSha = { + /** + * @deprecated "commit_sha" parameter renamed to "ref" + */ + commit_sha: string; + + owner: string; + + repo: string; + }; + export type ReposGetCommitParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetCommitActivityStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetCommitCommentParams = { + comment_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetCommitRefShaParams = { + owner: string; + + ref: string; + + repo: string; + }; + export type ReposGetContentsParams = { + owner: string; + + path: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + + repo: string; + }; + export type ReposGetContributorsStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetDeployKeyParams = { + key_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetDeploymentParams = { + deployment_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetDeploymentStatusParams = { + deployment_id: number; + + owner: string; + + repo: string; + + status_id: number; + }; + export type ReposGetDownloadParams = { + download_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetLatestPagesBuildParams = { + owner: string; + + repo: string; + }; + export type ReposGetLatestReleaseParams = { + owner: string; + + repo: string; + }; + export type ReposGetPagesParams = { + owner: string; + + repo: string; + }; + export type ReposGetPagesBuildParams = { + build_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetParticipationStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchAdminEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchRequiredSignaturesParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchRequiredStatusChecksParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetProtectedBranchRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetPunchCardStatsParams = { + owner: string; + + repo: string; + }; + export type ReposGetReadmeParams = { + owner: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + + repo: string; + }; + export type ReposGetReleaseParams = { + owner: string; + + release_id: number; + + repo: string; + }; + export type ReposGetReleaseAssetParams = { + asset_id: number; + + owner: string; + + repo: string; + }; + export type ReposGetReleaseByTagParams = { + owner: string; + + repo: string; + + tag: string; + }; + export type ReposGetTeamsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetTopPathsParams = { + owner: string; + + repo: string; + }; + export type ReposGetTopReferrersParams = { + owner: string; + + repo: string; + }; + export type ReposGetUsersWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposGetViewsParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + + repo: string; + }; + export type ReposListParams = { + /** + * 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; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; + }; + export type ReposListAppsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListAssetsForReleaseParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + release_id: number; + + repo: string; + }; + export type ReposListBranchesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + + repo: string; + }; + export type ReposListBranchesForHeadCommitParams = { + commit_sha: string; + + owner: string; + + repo: string; + }; + export type ReposListCollaboratorsParams = { + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListCommentsForCommitParamsDeprecatedRef = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * @deprecated "ref" parameter renamed to "commit_sha" + */ + ref: string; + + repo: string; + }; + export type ReposListCommentsForCommitParams = { + commit_sha: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListCommitCommentsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListCommitsParams = { + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits after 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`. + */ + since?: string; + /** + * 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; + }; + export type ReposListContributorsParams = { + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListDeployKeysParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListDeploymentStatusesParams = { + deployment_id: number; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListDeploymentsParams = { + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + + repo: string; + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + }; + export type ReposListDownloadsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListForOrgParams = { + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + }; + export type ReposListForUserParams = { + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + + username: string; + }; + export type ReposListForksParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; + }; + export type ReposListHooksParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListInvitationsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListInvitationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type ReposListLanguagesParams = { + owner: string; + + repo: string; + }; + export type ReposListPagesBuildsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListPublicParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last Repository that you've seen. + */ + since?: string; + }; + export type ReposListPullRequestsAssociatedWithCommitParams = { + commit_sha: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListReleasesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListStatusesForRefParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + ref: string; + + repo: string; + }; + export type ReposListTagsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListTeamsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ReposListTeamsWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposListTopicsParams = { + owner: string; + + repo: string; + }; + export type ReposListUsersWithAccessToProtectedBranchParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposMergeParams = { + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + + owner: string; + + repo: string; + }; + export type ReposPingHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposRemoveBranchProtectionParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveCollaboratorParams = { + owner: string; + + repo: string; + + username: string; + }; + export type ReposRemoveDeployKeyParams = { + key_id: number; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchAdminEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRequiredSignaturesParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRequiredStatusChecksParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + contexts: string[]; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + }; + export type ReposRemoveProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + teams: string[]; + }; + export type ReposRemoveProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + users: string[]; + }; + export type ReposReplaceProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + + owner: string; + + repo: string; + }; + export type ReposReplaceProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + + contexts: string[]; + + owner: string; + + repo: string; + }; + export type ReposReplaceProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + teams: string[]; + }; + export type ReposReplaceProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + users: string[]; + }; + export type ReposReplaceTopicsParams = { + /** + * 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[]; + + owner: string; + + repo: string; + }; + export type ReposRequestPageBuildParams = { + owner: string; + + repo: string; + }; + export type ReposRetrieveCommunityProfileMetricsParams = { + owner: string; + + repo: string; + }; + export type ReposTestPushHookParams = { + hook_id: number; + + owner: string; + + repo: string; + }; + export type ReposTransferParams = { + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + + owner: string; + + repo: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; + }; + export type ReposUpdateParams = { + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * 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. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * The name of the repository. + */ + name?: string; + + owner: string; + /** + * Either `true` to make the repository private or `false` to make it public. Creating private repositories requires a paid GitHub account. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.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. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.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. + */ + private?: boolean; + + repo: string; + }; + export type ReposUpdateBranchProtectionParams = { + branch: string; + /** + * 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; + + owner: string; + + repo: string; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + /** + * Restrict who can push to this branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + }; + export type ReposUpdateCommitCommentParams = { + /** + * The contents of the comment + */ + body: string; + + comment_id: number; + + owner: string; + + repo: string; + }; + export type ReposUpdateFileParams = { + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposUpdateFileParamsAuthor; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposUpdateFileParamsCommitter; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * The commit message. + */ + message: string; + + owner: string; + + path: string; + + repo: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + }; + export type ReposUpdateHookParams = { + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config?: ReposUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + + hook_id: number; + + owner: string; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + + repo: string; + }; + export type ReposUpdateInformationAboutPagesSiteParams = { + /** + * 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://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string; + + owner: string; + + repo: string; + /** + * Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `"gh-pages"`, `"master"`, and `"master /docs"`. + */ + source?: '"gh-pages"' | '"master"' | '"master /docs"'; + }; + export type ReposUpdateInvitationParams = { + invitation_id: number; + + owner: string; + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, and `admin`. + */ + permissions?: "read" | "write" | "admin"; + + repo: string; + }; + export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Specify which users and teams 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?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + + owner: string; + + repo: string; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; + }; + export type ReposUpdateProtectedBranchRequiredStatusChecksParams = { + branch: string; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; + + owner: string; + + repo: string; + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; + }; + export type ReposUpdateReleaseParams = { + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * The name of the release. + */ + name?: string; + + owner: string; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; + + release_id: number; + + repo: string; + /** + * The name of the tag. + */ + tag_name?: string; + /** + * 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 (usually `master`). + */ + target_commitish?: string; + }; + export type ReposUpdateReleaseAssetParams = { + asset_id: number; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; + /** + * The file name of the asset. + */ + name?: string; + + owner: string; + + repo: string; + }; + export type ReposUploadReleaseAssetParams = { + file: string | object; + + headers: ReposUploadReleaseAssetParamsHeaders; + /** + * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. + */ + label?: string; + /** + * The file name of the asset. This should be set in a URI query parameter. + */ + name: string; + /** + * The `upload_url` key returned from creating or getting a release + */ + url: string; + }; + export type SearchCodeParams = { + /** + * 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"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "indexed"; + }; + export type SearchCommitsParams = { + /** + * 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"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; + }; + export type SearchIssuesParams = { + /** + * 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"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + }; + export type SearchIssuesAndPullRequestsParams = { + /** + * 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"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + }; + export type SearchLabelsParams = { + /** + * 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"; + /** + * 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://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + /** + * The id of the repository. + */ + repository_id: number; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "created" | "updated"; + }; + export type SearchReposParams = { + /** + * 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"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + }; + export type SearchTopicsParams = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + }; + export type SearchUsersParams = { + /** + * 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"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; + }; + export type TeamsAddMemberParams = { + team_id: number; + + username: string; + }; + export type TeamsAddOrUpdateMembershipParams = { + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; + + team_id: number; + + username: string; + }; + export type TeamsAddOrUpdateProjectParams = { + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer 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 out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * **Note**: If you pass the `hellcat-preview` media type, you can promote—but not demote—a `permission` attribute inherited from a parent team. + */ + permission?: "read" | "write" | "admin"; + + project_id: number; + + team_id: number; + }; + export type TeamsAddOrUpdateRepoParams = { + owner: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer 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. + * **Note**: If you pass the `hellcat-preview` media type, you can promote—but not demote—a `permission` attribute inherited through a parent team. + */ + permission?: "pull" | "push" | "admin"; + + repo: string; + + team_id: number; + }; + export type TeamsCheckManagesRepoParams = { + owner: string; + + repo: string; + + team_id: number; + }; + export type TeamsCreateParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The logins of organization members to add as maintainers of the team. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + + org: string; + /** + * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * 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` + * **Note**: You must pass the `hellcat-preview` media type to set privacy default to `closed` for child teams. + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + }; + export type TeamsCreateParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The logins of organization members to add as maintainers of the team. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + + org: string; + /** + * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + */ + parent_team_id?: number; + /** + * 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` + * **Note**: You must pass the `hellcat-preview` media type to set privacy default to `closed` for child teams. + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + }; + export type TeamsCreateDiscussionParams = { + /** + * The discussion post's body text. + */ + body: string; + /** + * 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. + */ + private?: boolean; + + team_id: number; + /** + * The discussion post's title. + */ + title: string; + }; + export type TeamsCreateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + + discussion_number: number; + + team_id: number; + }; + export type TeamsDeleteParams = { + team_id: number; + }; + export type TeamsDeleteDiscussionParams = { + discussion_number: number; + + team_id: number; + }; + export type TeamsDeleteDiscussionCommentParams = { + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsGetParams = { + team_id: number; + }; + export type TeamsGetByNameParams = { + org: string; + + team_slug: string; + }; + export type TeamsGetDiscussionParams = { + discussion_number: number; + + team_id: number; + }; + export type TeamsGetDiscussionCommentParams = { + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsGetMemberParams = { + team_id: number; + + username: string; + }; + export type TeamsGetMembershipParams = { + team_id: number; + + username: string; + }; + export type TeamsListParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type TeamsListChildParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionCommentsParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + + discussion_number: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionsParams = { + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type TeamsListMembersParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + + team_id: number; + }; + export type TeamsListPendingInvitationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListProjectsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; + }; + export type TeamsRemoveMemberParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveMembershipParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveProjectParams = { + project_id: number; + + team_id: number; + }; + export type TeamsRemoveRepoParams = { + owner: string; + + repo: string; + + team_id: number; + }; + export type TeamsReviewProjectParams = { + project_id: number; + + team_id: number; + }; + export type TeamsUpdateParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + */ + parent_team_id?: number; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + * @deprecated "permission" parameter has been deprecated and will be removed in future + */ + permission?: string; + /** + * 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. + */ + privacy?: "secret" | "closed"; + + team_id: number; + }; + export type TeamsUpdateParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + /** + * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + */ + parent_team_id?: number; + /** + * 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. + */ + privacy?: "secret" | "closed"; + + team_id: number; + }; + export type TeamsUpdateDiscussionParams = { + /** + * The discussion post's body text. + */ + body?: string; + + discussion_number: number; + + team_id: number; + /** + * The discussion post's title. + */ + title?: string; + }; + export type TeamsUpdateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type UsersAddEmailsParams = { + /** + * 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. + */ + emails: string[]; + }; + export type UsersBlockParams = { + username: string; + }; + export type UsersCheckBlockedParams = { + username: string; + }; + export type UsersCheckFollowingParams = { + username: string; + }; + export type UsersCheckFollowingForUserParams = { + target_user: string; + + username: string; + }; + export type UsersCreateGpgKeyParams = { + /** + * Your GPG key, generated in ASCII-armored format. See "[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)" for help creating a GPG key. + */ + armored_public_key?: string; + }; + export type UsersCreatePublicKeyParams = { + /** + * The public SSH key to add to your GitHub account. See "[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" for guidance on how to create a public SSH key. + */ + key?: string; + /** + * A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". + */ + title?: string; + }; + export type UsersDeleteEmailsParams = { + /** + * Deletes one or more email addresses from 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. + */ + emails: string[]; + }; + export type UsersDeleteGpgKeyParams = { + gpg_key_id: number; + }; + export type UsersDeletePublicKeyParams = { + key_id: number; + }; + export type UsersFollowParams = { + username: string; + }; + export type UsersGetByUsernameParams = { + username: string; + }; + export type UsersGetContextForUserParams = { + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; + /** + * 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"; + + username: string; + }; + export type UsersGetGpgKeyParams = { + gpg_key_id: number; + }; + export type UsersGetPublicKeyParams = { + key_id: number; + }; + export type UsersListParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * The integer ID of the last User that you've seen. + */ + since?: string; + }; + export type UsersListEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListFollowersForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListFollowersForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersListFollowingForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListFollowingForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersListGpgKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListGpgKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersListPublicEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListPublicKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + }; + export type UsersListPublicKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + username: string; + }; + export type UsersTogglePrimaryEmailVisibilityParams = { + /** + * Specify the _primary_ email address that needs a visibility change. + */ + email: string; + /** + * Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly. + */ + visibility: string; + }; + export type UsersUnblockParams = { + username: string; + }; + export type UsersUnfollowParams = { + username: string; + }; + export type UsersUpdateAuthenticatedParams = { + /** + * The new short biography of the user. + */ + bio?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new company of the user. + */ + company?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new location of the user. + */ + location?: string; + /** + * The new name of the user. + */ + name?: string; + }; + + // child param types + export type AppsCreateInstallationTokenParamsPermissions = {}; + export type ChecksCreateParamsActions = { + description: string; + identifier: string; + label: string; + }; + export type ChecksCreateParamsOutput = { + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; + summary: string; + text?: string; + title: string; + }; + export type ChecksCreateParamsOutputAnnotations = { + annotation_level: "notice" | "warning" | "failure"; + end_column?: number; + end_line: number; + message: string; + path: string; + raw_details?: string; + start_column?: number; + start_line: number; + title?: string; + }; + export type ChecksCreateParamsOutputImages = { + alt: string; + caption?: string; + image_url: string; + }; + export type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; + }; + export type ChecksUpdateParamsActions = { + description: string; + identifier: string; + label: string; + }; + export type ChecksUpdateParamsOutput = { + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; + summary: string; + text?: string; + title?: string; + }; + export type ChecksUpdateParamsOutputAnnotations = { + annotation_level: "notice" | "warning" | "failure"; + end_column?: number; + end_line: number; + message: string; + path: string; + raw_details?: string; + start_column?: number; + start_line: number; + title?: string; + }; + export type ChecksUpdateParamsOutputImages = { + alt: string; + caption?: string; + image_url: string; + }; + export type GistsCreateParamsFiles = { + content?: string; + }; + export type GistsUpdateParamsFiles = { + content?: string; + filename?: string; + }; + export type GitCreateCommitParamsAuthor = { + date?: string; + email?: string; + name?: string; + }; + export type GitCreateCommitParamsCommitter = { + date?: string; + email?: string; + name?: string; + }; + export type GitCreateTagParamsTagger = { + date?: string; + email?: string; + name?: string; + }; + export type GitCreateTreeParamsTree = { + content?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + path?: string; + sha?: string; + type?: "blob" | "tree" | "commit"; + }; + export type OrgsCreateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type OrgsUpdateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type PullsCreateReviewParamsComments = { + body: string; + path: string; + position: number; + }; + export type ReposCreateDispatchEventParamsClientPayload = {}; + export type ReposCreateFileParamsAuthor = { + email: string; + name: string; + }; + export type ReposCreateFileParamsCommitter = { + email: string; + name: string; + }; + export type ReposCreateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type ReposCreateOrUpdateFileParamsAuthor = { + email: string; + name: string; + }; + export type ReposCreateOrUpdateFileParamsCommitter = { + email: string; + name: string; + }; + export type ReposDeleteFileParamsAuthor = { + email?: string; + name?: string; + }; + export type ReposDeleteFileParamsCommitter = { + email?: string; + name?: string; + }; + export type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; + }; + export type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismiss_stale_reviews?: boolean; + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + }; + export type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + teams?: string[]; + users?: string[]; + }; + export type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + contexts: string[]; + strict: boolean; + }; + export type ReposUpdateBranchProtectionParamsRestrictions = { + apps?: string[]; + teams: string[]; + users: string[]; + }; + export type ReposUpdateFileParamsAuthor = { + email: string; + name: string; + }; + export type ReposUpdateFileParamsCommitter = { + email: string; + name: string; + }; + export type ReposUpdateHookParamsConfig = { + content_type?: string; + insecure_ssl?: string; + secret?: string; + url: string; + }; + export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + teams?: string[]; + users?: string[]; + }; + export type ReposUploadReleaseAssetParamsHeaders = { + "content-length": number; + "content-type": string; + }; +} + +declare class Octokit { + constructor(options?: Octokit.Options); + authenticate(auth: Octokit.AuthBasic): void; + authenticate(auth: Octokit.AuthOAuthToken): void; + authenticate(auth: Octokit.AuthOAuthSecret): void; + authenticate(auth: Octokit.AuthUserToken): void; + authenticate(auth: Octokit.AuthJWT): void; + + hook: { + before( + name: string, + callback: (options: Octokit.HookOptions) => void + ): void; + after( + name: string, + callback: ( + response: Octokit.Response, + options: Octokit.HookOptions + ) => void + ): void; + error( + name: string, + callback: (error: Octokit.HookError, options: Octokit.HookOptions) => void + ): void; + wrap( + name: string, + callback: ( + request: ( + options: Octokit.HookOptions + ) => Promise>, + options: Octokit.HookOptions + ) => void + ): void; + }; + + static plugin(plugin: Octokit.Plugin | Octokit.Plugin[]): Octokit.Static; + + registerEndpoints(endpoints: { + [scope: string]: Octokit.EndpointOptions; + }): void; + + request: Octokit.Request; + + paginate: Octokit.Paginate; + + log: Octokit.Log; + + activity: { + /** + * Requires for the user to be authenticated. + */ + checkStarringRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityCheckStarringRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/activity/watching/#set-a-repository-subscription). + */ + deleteRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityDeleteRepoSubscriptionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get **@mention**ed. + */ + deleteThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityDeleteThreadSubscriptionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + getRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityGetRepoSubscriptionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getThread: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityGetThreadParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://developer.github.com/v3/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. + */ + getThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityGetThreadSubscriptionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listEventsForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListEventsForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/#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://developer.github.com/v3/#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + listFeeds: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + * + * The following example uses the `since` parameter to list notifications that have been updated after the specified time. + */ + listNotifications: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListNotificationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all notifications for the current user. + */ + listNotificationsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListNotificationsForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ActivityListPublicEventsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listPublicEventsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listPublicEventsForRepoNetwork: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForRepoNetworkParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listPublicEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.ActivityListReceivedEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listReceivedPublicEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReceivedPublicEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listRepoEvents: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListRepoEventsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listReposStarredByAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposStarredByAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ActivityListReposStarredByAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listReposStarredByUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposStarredByUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listReposWatchedByUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposWatchedByUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You can also find out _when_ stars were created by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + */ + listStargazersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListStargazersForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listWatchedReposForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListWatchedReposForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ActivityListWatchedReposForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + listWatchersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListWatchersForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Marks a notification as "read" removes it from the [default view on GitHub](https://github.com/notifications). 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 your notifications](https://developer.github.com/v3/activity/notifications/#list-your-notifications) endpoint and pass the query parameter `all=false`. + */ + markAsRead: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityMarkAsReadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). 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 your notifications in a repository](https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository) endpoint and pass the query parameter `all=false`. + */ + markNotificationsAsReadForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityMarkNotificationsAsReadForRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + markThreadAsRead: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityMarkThreadAsReadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/activity/watching/#delete-a-repository-subscription) completely. + */ + setRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivitySetRepoSubscriptionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This lets you subscribe or unsubscribe from a conversation. + */ + setThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivitySetThreadSubscriptionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Requires for the user to be authenticated. + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + starRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityStarRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Requires for the user to be authenticated. + */ + unstarRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityUnstarRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + 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://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization)) or [Basic Authentication](https://developer.github.com/v3/auth/#basic-authentication) to access this endpoint. + */ + addRepoToInstallation: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsAddRepoToInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.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://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + checkAccountIsAssociatedWithAny: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCheckAccountIsAssociatedWithAnyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.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://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + checkAccountIsAssociatedWithAnyStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedParams + ): Promise< + Octokit.Response< + Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://developer.github.com/v3/activity/events/types/#contentreferenceevent) to create an attachment. + * + * The app must create a content attachment within six hours of the content reference URL being posted. See "[Using content attachments](https://developer.github.com/apps/using-content-attachments/)" for details about content attachments. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + * + * This example creates a content attachment for the domain `https://errors.ai/`. + */ + createContentAttachment: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCreateContentAttachmentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://developer.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?: Octokit.RequestOptions & Octokit.AppsCreateFromManifestParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * This example grants the token "Read and write" permission to `issues` and "Read" permission to `contents`, and restricts the token's access to the repository with an `id` of 1296269. + */ + createInstallationToken: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCreateInstallationTokenParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + deleteInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10) + */ + findOrgInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindOrgInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10) + */ + findRepoInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindRepoInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * @deprecated octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10) + */ + findUserInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindUserInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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](https://developer.github.com/v3/apps/#list-installations)" endpoint. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getAuthenticated: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **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://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + getBySlug: { + (params?: Octokit.RequestOptions & Octokit.AppsGetBySlugParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getOrgInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetOrgInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getRepoInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetRepoInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getUserInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetUserInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns any accounts associated with a 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://developer.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://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsUserOrOrgOnPlan: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListAccountsUserOrOrgOnPlanParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns any accounts associated with a 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://developer.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://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsUserOrOrgOnPlanStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListAccountsUserOrOrgOnPlanStubbedParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), 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?: Octokit.RequestOptions & + Octokit.AppsListInstallationReposForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListInstallationReposForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You must use a [JWT](https://developer.github.com/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?: Octokit.RequestOptions & Octokit.AppsListInstallationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), 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?: Octokit.RequestOptions & + Octokit.AppsListInstallationsForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListInstallationsForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns only active subscriptions. You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listMarketplacePurchasesForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns only active subscriptions. You must use a [user-to-server OAuth access token](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/). + */ + listMarketplacePurchasesForAuthenticatedUserStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams + ): Promise< + Octokit.Response< + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * GitHub Apps must use a [JWT](https://developer.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://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlans: { + (params?: Octokit.RequestOptions & Octokit.AppsListPlansParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * GitHub Apps must use a [JWT](https://developer.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://developer.github.com/v3/auth/#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlansStubbed: { + ( + params?: Octokit.RequestOptions & Octokit.AppsListPlansStubbedParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List repositories that an installation can access. + * + * You must use an [installation access token](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + listRepos: { + (params?: Octokit.RequestOptions & Octokit.AppsListReposParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Remove a single repository from 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://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization)) or [Basic Authentication](https://developer.github.com/v3/auth/#basic-authentication) to access this endpoint. + */ + removeRepoFromInstallation: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRemoveRepoFromInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + 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. + */ + create: { + (params?: Octokit.RequestOptions & Octokit.ChecksCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **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://developer.github.com/v3/checks/runs/). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Set preferences for check suites on a repository](https://developer.github.com/v3/checks/suites/#set-preferences-for-check-suites-on-a-repository)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + createSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksCreateSuiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **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?: Octokit.RequestOptions & Octokit.ChecksGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **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?: Octokit.RequestOptions & Octokit.ChecksGetSuiteParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ChecksListAnnotationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **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?: Octokit.RequestOptions & Octokit.ChecksListForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **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?: Octokit.RequestOptions & Octokit.ChecksListForSuiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **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?: Octokit.RequestOptions & Octokit.ChecksListSuitesForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://developer.github.com/v3/activity/events/types/#checksuiteevent) 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:read` permission on a private repository or pull access to a public repository. + */ + rerequestSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksRerequestSuiteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Changes the default automatic flow when creating check suites. By default, the CheckSuiteEvent 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://developer.github.com/v3/checks/suites/#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + setSuitesPreferences: { + ( + params?: Octokit.RequestOptions & + Octokit.ChecksSetSuitesPreferencesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **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?: Octokit.RequestOptions & Octokit.ChecksUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + codesOfConduct: { + getConductCode: { + ( + params?: Octokit.RequestOptions & + Octokit.CodesOfConductGetConductCodeParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This method returns the contents of the repository's code of conduct file, if one is detected. + */ + getForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.CodesOfConductGetForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listConductCodes: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + }; + gists: { + checkIsStarred: { + ( + params?: Octokit.RequestOptions & Octokit.GistsCheckIsStarredParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.GistsCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + createComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsCreateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + delete: { + (params?: Octokit.RequestOptions & Octokit.GistsDeleteParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsDeleteCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: This was previously `/gists/:gist_id/fork`. + */ + fork: { + (params?: Octokit.RequestOptions & Octokit.GistsForkParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + get: { + (params?: Octokit.RequestOptions & Octokit.GistsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsGetCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getRevision: { + ( + params?: Octokit.RequestOptions & Octokit.GistsGetRevisionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + list: { + (params?: Octokit.RequestOptions & Octokit.GistsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listComments: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listCommits: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listForks: { + (params?: Octokit.RequestOptions & Octokit.GistsListForksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List all public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://developer.github.com/v3/#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?: Octokit.RequestOptions & Octokit.GistsListPublicParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listPublicForUser: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListPublicForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListStarredParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + */ + star: { + (params?: Octokit.RequestOptions & Octokit.GistsStarParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + unstar: { + (params?: Octokit.RequestOptions & Octokit.GistsUnstarParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + update: { + (params?: Octokit.RequestOptions & Octokit.GistsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsUpdateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + git: { + createBlob: { + (params?: Octokit.RequestOptions & Octokit.GitCreateBlobParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * + * In this example, the payload of the signature would be: + * + * + * + * **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: + * + * 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. | + */ + createCommit: { + ( + params?: Octokit.RequestOptions & Octokit.GitCreateCommitParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.GitCreateRefParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/git/refs/#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://developer.github.com/v3/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: + * + * 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. | + */ + createTag: { + (params?: Octokit.RequestOptions & Octokit.GitCreateTagParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/git/commits/#create-a-commit)" and "[Update a reference](https://developer.github.com/v3/git/refs/#update-a-reference)." + */ + createTree: { + (params?: Octokit.RequestOptions & Octokit.GitCreateTreeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/heads/feature-a + * ``` + * + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/tags/v1.0 + * ``` + */ + deleteRef: { + (params?: Octokit.RequestOptions & Octokit.GitDeleteRefParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + getBlob: { + (params?: Octokit.RequestOptions & Octokit.GitGetBlobParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-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: + * + * 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. | + */ + getCommit: { + (params?: Octokit.RequestOptions & Octokit.GitGetCommitParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/pulls/#get-a-single-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://developer.github.com/v3/git/#checking-mergeability-of-pull-requests)". + * + * To get the reference for a branch named `skunkworkz/featureA`, the endpoint route is: + */ + getRef: { + (params?: Octokit.RequestOptions & Octokit.GitGetRefParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **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: + * + * 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. | + */ + getTag: { + (params?: Octokit.RequestOptions & Octokit.GitGetTagParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * If `truncated` is `true`, the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, you can clone the repository and iterate over the Git data locally. + */ + getTree: { + (params?: Octokit.RequestOptions & Octokit.GitGetTreeParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/pulls/#get-a-single-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://developer.github.com/v3/git/#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?: Octokit.RequestOptions & Octokit.GitListMatchingRefsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns 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`. If there are no references to list, a `404` is returned. + */ + listRefs: { + (params?: Octokit.RequestOptions & Octokit.GitListRefsParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + updateRef: { + (params?: Octokit.RequestOptions & Octokit.GitUpdateRefParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + gitignore: { + /** + * The API also allows fetching the source of a single template. + * + * Use the raw [media type](https://developer.github.com/v3/media/) to get the raw contents. + */ + getTemplate: { + ( + params?: Octokit.RequestOptions & Octokit.GitignoreGetTemplateParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all templates available to pass as an option when [creating a repository](https://developer.github.com/v3/repos/#create). + */ + listTemplates: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + interactions: { + /** + * Temporarily restricts interactions to certain GitHub users in any public repository in the given organization. You must be an organization owner to set these restrictions. + */ + addOrUpdateRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsAddOrUpdateRestrictionsForOrgParams + ): Promise< + Octokit.Response< + Octokit.InteractionsAddOrUpdateRestrictionsForOrgResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Temporarily restricts interactions to certain GitHub users within the given repository. You must have owner or admin access to set restrictions. + */ + addOrUpdateRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsAddOrUpdateRestrictionsForRepoParams + ): Promise< + Octokit.Response< + Octokit.InteractionsAddOrUpdateRestrictionsForRepoResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows which group of GitHub users can interact with this organization and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsGetRestrictionsForOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows which group of GitHub users can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsGetRestrictionsForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsRemoveRestrictionsForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. + */ + removeRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsRemoveRestrictionsForRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + issues: { + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + * + * This example adds two assignees to the existing `octocat` assignee. + */ + addAssignees: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesAddAssigneesParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesAddAssigneesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + addLabels: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesAddLabelsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesAddLabelsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + checkAssignee: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesCheckAssigneeParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + create: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesCreateParamsDeprecatedAssignee + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createComment: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesCreateCommentParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesCreateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createLabel: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesCreateLabelParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createMilestone: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesCreateMilestoneParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesDeleteCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteLabel: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesDeleteLabelParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesDeleteMilestoneParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.IssuesDeleteMilestoneParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://developer.github.com/v3/#http-redirects) if the issue was [transferred](https://help.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://developer.github.com/v3/activity/events/types/#issuesevent) webhook. + * + * **Note**: GitHub's REST API v3 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://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + get: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesGetParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getComment: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesGetCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getEvent: { + (params?: Octokit.RequestOptions & Octokit.IssuesGetEventParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getLabel: { + (params?: Octokit.RequestOptions & Octokit.IssuesGetLabelParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesGetMilestoneParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesGetMilestoneParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 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://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.IssuesListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + listAssignees: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListAssigneesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Issue Comments are ordered by ascending ID. + */ + listComments: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListCommentsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * By default, Issue Comments are ordered by ascending ID. + */ + listCommentsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListCommentsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listEvents: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListEventsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listEventsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListEventsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listEventsForTimeline: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsForTimelineParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsForTimelineParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 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://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 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://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 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://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + listForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listLabelsForMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsForMilestoneParamsDeprecatedNumber + ): Promise< + Octokit.Response + >; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsForMilestoneParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listLabelsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListLabelsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listLabelsOnIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsOnIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListLabelsOnIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listMilestonesForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListMilestonesForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/#http-verbs)." + */ + lock: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesLockParamsDeprecatedNumber + ): Promise; + (params?: Octokit.RequestOptions & Octokit.IssuesLockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes one or more assignees from an issue. + * + * This example removes two of three assignees, leaving the `octocat` assignee. + */ + removeAssignees: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveAssigneesParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveAssigneesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.IssuesRemoveLabelParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveLabelParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + removeLabels: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveLabelsParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveLabelsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + replaceLabels: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesReplaceLabelsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesReplaceLabelsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUnlockParamsDeprecatedNumber + ): Promise; + (params?: Octokit.RequestOptions & Octokit.IssuesUnlockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Issue owners and users with push access can edit an issue. + */ + update: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateParamsDeprecatedAssignee + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateComment: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateLabel: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateLabelParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateMilestoneParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateMilestoneParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + licenses: { + get: { + (params?: Octokit.RequestOptions & Octokit.LicensesGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [the repository contents API](https://developer.github.com/v3/repos/contents/#get-contents), this method also supports [custom media types](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw license content or rendered license HTML. + */ + getForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.LicensesGetForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * @deprecated octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05) + */ + list: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listCommonlyUsed: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + markdown: { + render: { + (params?: Octokit.RequestOptions & Octokit.MarkdownRenderParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.MarkdownRenderRawParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + }; + meta: { + /** + * This endpoint provides a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/)." + */ + get: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + migrations: { + /** + * Stop an import for a repository. + */ + cancelImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsCancelImportParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [Get a list of user migrations](https://developer.github.com/v3/migrations/users/#get-a-list-of-user-migrations) and [Get the status of a user migration](https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration) endpoints, will continue to be available even after an archive is deleted. + */ + deleteArchiveForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsDeleteArchiveForAuthenticatedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsDeleteArchiveForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.MigrationsGetArchiveForAuthenticatedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Fetches the URL to a migration archive. + */ + getArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetArchiveForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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 API method and the "Map a commit author" method allow you to provide correct Git author information. + */ + getCommitAuthors: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetCommitAuthorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * View the progress of an import. + * + * **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 Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-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://github.com/contact) 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 Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://developer.github.com/v3/migrations/source_imports/#cancel-an-import) and [retry](https://developer.github.com/v3/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 Existing Import](https://developer.github.com/v3/migrations/source_imports/#update-existing-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. + */ + getImportProgress: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetImportProgressParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List files larger than 100MB found during the import + */ + getLargeFiles: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsGetLargeFilesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/migrations/users/#download-a-user-migration-archive). + */ + getStatusForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetStatusForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.MigrationsGetStatusForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.MigrationsGetStatusForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the most recent migrations. + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. + */ + mapCommitAuthor: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsMapCommitAuthorParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/). + */ + setLfsPreference: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsSetLfsPreferenceParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsStartForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsStartForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + startImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsStartImportParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://developer.github.com/v3/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://developer.github.com/v3/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?: Octokit.RequestOptions & + Octokit.MigrationsUnlockRepoForAuthenticatedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://developer.github.com/v3/repos/#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + unlockRepoForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsUnlockRepoForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + * + * The following example demonstrates the workflow for updating an import with "project1" as the project choice. Given a `project_choices` array like such: + * + * To restart an import, no parameters are provided in the update request. + */ + updateImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsUpdateImportParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + oauthAuthorizations: { + /** + * OAuth applications can use a special API method for checking OAuth token validity without running afoul of normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing it, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsCheckAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates OAuth tokens using [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * You can use this endpoint to create multiple OAuth tokens instead of implementing the [web flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/). + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be whitelisted. Read more about whitelisting tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + createAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsCreateAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + deleteAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsDeleteAuthorizationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteGrant: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsDeleteGrantParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + getAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getGrant: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetGrantParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + */ + getOrCreateAuthorizationForApp: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + */ + getOrCreateAuthorizationForAppAndFingerprint: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27) + */ + getOrCreateAuthorizationForAppFingerprint: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + listAuthorizations: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsListAuthorizationsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ + listGrants: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsListGrantsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth applications 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://developer.github.com/v3/auth#basic-authentication) when accessing it, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + resetAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsResetAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) for this method, where the username is the OAuth application `client_id` and the password is its `client_secret`. + */ + revokeAuthorizationForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsRevokeAuthorizationForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) for this method, where the username is the OAuth application `client_id` and the password is its `client_secret`. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth 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). + */ + revokeGrantForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsRevokeGrantForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + updateAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsUpdateAuthorizationParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + orgs: { + /** + * 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://developer.github.com/v3/orgs/members/#get-organization-membership) 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. + */ + addOrUpdateMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsAddOrUpdateMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + blockUser: { + (params?: Octokit.RequestOptions & Octokit.OrgsBlockUserParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlockedUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCheckBlockedUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCheckMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + checkPublicMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsCheckPublicMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + concealMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsConcealMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". + */ + convertMemberToOutsideCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsConvertMemberToOutsideCollaboratorParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + createHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsCreateHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCreateInvitationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsDeleteHookParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.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://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see "[Response with GitHub plan information](https://developer.github.com/v3/orgs/#response-with-github-plan-information)." + */ + get: { + (params?: Octokit.RequestOptions & Octokit.OrgsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsGetHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. + */ + getMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsGetMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getMembershipForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsGetMembershipForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/#link-header) to get the URL for the next page of organizations. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.OrgsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListBlockedUsersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.OrgsListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List [public organization memberships](https://help.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 your organizations](https://developer.github.com/v3/orgs/#list-your-organizations) API instead. + */ + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listHooks: { + (params?: Octokit.RequestOptions & Octokit.OrgsListHooksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + listInstallations: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListInstallationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.OrgsListInvitationTeamsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.OrgsListMembersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listMemberships: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListMembershipsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListOutsideCollaboratorsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.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`. + */ + listPendingInvitations: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListPendingInvitationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListPublicMembersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsPingHookParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/#http-verbs)." + */ + publicizeMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsPublicizeMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.OrgsRemoveMemberParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + removeMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsRemoveMembershipParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsRemoveOutsideCollaboratorParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + unblockUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsUnblockUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The new `members_allowed_repository_creation_type` replaces the functionality of `members_can_create_repositories`. + * + * Setting `members_allowed_repository_creation_type` will override the value of `members_can_create_repositories` in the following ways: + * + * * Setting `members_allowed_repository_creation_type` to `all` or `private` sets `members_can_create_repositories` to `true`. + * * Setting `members_allowed_repository_creation_type` to `none` sets `members_can_create_repositories` to `false`. + * * If you omit `members_allowed_repository_creation_type`, `members_can_create_repositories` is not modified. + */ + update: { + (params?: Octokit.RequestOptions & Octokit.OrgsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsUpdateHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsUpdateMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + projects: { + /** + * Adds a collaborator to a an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + addCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsAddCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: GitHub's REST API v3 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://developer.github.com/v3/pulls/#list-pull-requests)" endpoint. + */ + createCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateCardParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateColumnParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsCreateForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates an organization project board. 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. + */ + createForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a repository project board. 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. + */ + createForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: Octokit.RequestOptions & Octokit.ProjectsDeleteParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + + deleteCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsDeleteCardParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsDeleteColumnParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ProjectsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsGetCardParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsGetColumnParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listCards: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListCardsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.ProjectsListCollaboratorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listColumns: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListColumnsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + * + * s + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ProjectsListForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + moveCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsMoveCardParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + moveColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsMoveColumnParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsRemoveCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + reviewUserPermissionLevel: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsReviewUserPermissionLevelParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ProjectsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + updateCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsUpdateCardParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsUpdateColumnParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + pulls: { + checkIfMerged: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCheckIfMergedParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.PullsCheckIfMergedParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + create: { + (params?: Octokit.RequestOptions & Octokit.PullsCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Comments](https://developer.github.com/v3/issues/comments/#create-a-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. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://developer.github.com/v3/pulls/comments/#multi-line-comment-summary-3). + * + * **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://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + */ + createComment: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentParamsDeprecatedInReplyTo + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Comments](https://developer.github.com/v3/issues/comments/#create-a-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. + * + * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see [Multi-line comment summary](https://developer.github.com/v3/pulls/comments/#multi-line-comment-summary-3). + * + * **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://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * @deprecated octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09) + */ + createCommentReply: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentReplyParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentReplyParamsDeprecatedInReplyTo + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateCommentReplyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + createFromIssue: { + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateFromIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * **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 v3 offers the `application/vnd.github.v3.diff` [media type](https://developer.github.com/v3/media/#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://developer.github.com/v3/pulls/#get-a-single-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?: Octokit.RequestOptions & + Octokit.PullsCreateReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createReviewCommentReply: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewCommentReplyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createReviewRequest: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewRequestParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateReviewRequestParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a review comment. + */ + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.PullsDeleteCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deletePendingReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsDeletePendingReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsDeletePendingReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteReviewRequest: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsDeleteReviewRequestParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.PullsDeleteReviewRequestParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** To dismiss a pull request review on a [protected branch](https://developer.github.com/v3/repos/branches/), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + dismissReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsDismissReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsDismissReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://developer.github.com/v3/pulls/#create-a-pull-request), or [edit](https://developer.github.com/v3/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://developer.github.com/v3/git/#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://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://help.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://help.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://developer.github.com/v3/media/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: { + ( + params?: Octokit.RequestOptions & Octokit.PullsGetParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Provides details for a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + getComment: { + ( + params?: Octokit.RequestOptions & Octokit.PullsGetCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getCommentsForReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsGetCommentsForReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.PullsGetCommentsForReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsGetReviewParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsGetReviewParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.PullsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists review comments for a pull request. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + listComments: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListCommentsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + * + * The `reactions` key will have the following payload where `url` can be used to construct the API location for [listing and creating](https://developer.github.com/v3/reactions) reactions. + */ + listCommentsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommentsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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 [Commit List API](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository). + */ + listCommits: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListCommitsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** The response includes a maximum of 300 files. + */ + listFiles: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListFilesParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsListFilesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listReviewRequests: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListReviewRequestsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListReviewRequestsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * The list of reviews returns in chronological order. + */ + listReviews: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListReviewsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListReviewsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + merge: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsMergeParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsMergeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + submitReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsSubmitReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsSubmitReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Pro, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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?: Octokit.RequestOptions & + Octokit.PullsUpdateParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + ( + params?: Octokit.RequestOptions & Octokit.PullsUpdateBranchParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. + * + * Enables you to edit a review comment. + * + * **Multi-line comment summary** + * + * **Note:** New parameters and response fields are available for developers to preview. During the preview period, these response fields may change without advance notice. Please see the [blog post](https://developer.github.com/changes/2019-10-03-multi-line-comments) for full details. + * + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. + * + * If you use the `comfort-fade` preview header, your response will show: + * + * * For multi-line comments, values for `start_line`, `original_start_line`, `start_side`, `line`, `original_line`, and `side`. + * * For single-line comments, values for `line`, `original_line`, and `side` and a `null` value for `start_line`, `original_start_line`, and `start_side`. + * + * If you don't use the `comfort-fade` preview header, multi-line and single-line comments will appear the same way in the response with a single `position` attribute. Your response will show: + * + * * For multi-line comments, the last line of the comment range for the `position` attribute. + * * For single-line comments, the diff-positioned way of referencing comments for the `position` attribute. For more information, see `position` in the [input parameters](https://developer.github.com/v3/pulls/comments/#parameters-2) table. + */ + updateComment: { + ( + params?: Octokit.RequestOptions & Octokit.PullsUpdateCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Update the review summary comment with new text. + */ + updateReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsUpdateReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsUpdateReviewParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + rateLimit: { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Understanding your rate limit status** + * + * The Search API has a [custom rate limit](https://developer.github.com/v3/search/#rate-limit), separate from the rate limit governing the rest of the REST API. The GraphQL API also has a [custom rate limit](https://developer.github.com/v4/guides/resource-limitations/#rate-limit) that is separate from and calculated differently than rate limits in the REST API. + * + * For these reasons, the Rate Limit API response categorizes your rate limit. Under `resources`, you'll see four objects: + * + * * 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 [Search API](https://developer.github.com/v3/search/). + * * The `graphql` object provides your rate limit status for the [GraphQL API](https://developer.github.com/v4/). + * * The `integration_manifest` object provides your rate limit status for the [GitHub App Manifest code conversion](https://developer.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration) endpoint. + * + * For more information on the headers and values in the rate limit response, see "[Rate limiting](https://developer.github.com/v3/#rate-limiting)." + * + * The `rate` object (shown at the bottom of the response above) 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?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + reactions: { + /** + * Create a reaction to a [commit comment](https://developer.github.com/v3/repos/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment. + */ + createForCommitComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForCommitCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to an [issue](https://developer.github.com/v3/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue. + */ + createForIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReactionsCreateForIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to an [issue comment](https://developer.github.com/v3/issues/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment. + */ + createForIssueComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForIssueCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment. + */ + createForPullRequestReviewComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForPullRequestReviewCommentParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForPullRequestReviewCommentResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion. + */ + createForTeamDiscussion: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a reaction to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment. + */ + createForTeamDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionCommentParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForTeamDiscussionCommentResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://developer.github.com/v3/teams/discussions/) or [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). + */ + delete: { + ( + params?: Octokit.RequestOptions & Octokit.ReactionsDeleteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [commit comment](https://developer.github.com/v3/repos/comments/). + */ + listForCommitComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForCommitCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to an [issue](https://developer.github.com/v3/issues/). + */ + listForIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReactionsListForIssueParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to an [issue comment](https://developer.github.com/v3/issues/comments/). + */ + listForIssueComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForIssueCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). + */ + listForPullRequestReviewComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForPullRequestReviewCommentParams + ): Promise< + Octokit.Response< + Octokit.ReactionsListForPullRequestReviewCommentResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [team discussion](https://developer.github.com/v3/teams/discussions/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listForTeamDiscussion: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the reactions to a [team discussion comment](https://developer.github.com/v3/teams/discussion_comments/). OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listForTeamDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + repos: { + acceptInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAcceptInvitationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + * + * 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://developer.github.com/v3/#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 [repository invitations API endpoints](https://developer.github.com/v3/repos/invitations/). + * + * **Rate limits** + * + * To prevent abuse, 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?: Octokit.RequestOptions & Octokit.ReposAddCollaboratorParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Here's how you can create a read-only deploy key: + */ + addDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAddDeployKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + addProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchAdminEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchAdminEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchAppRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchAppRestrictionsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + */ + addProtectedBranchRequiredSignatures: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchRequiredSignaturesParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchRequiredSignaturesResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + addProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. If you pass the `hellcat-preview` media type, you can also give push access to child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. | + */ + addProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + * + * If you pass the `hellcat-preview` media type, team members will include the members of child teams. + */ + checkCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCheckCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Shows whether vulnerability alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + checkVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCheckVulnerabilityAlertsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/media/#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** + * + * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [Commit List API](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository) to enumerate all commits in the range. + * + * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long to generate. You can typically resolve this error by using a smaller commit range. + * + * **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: + * + * 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?: Octokit.RequestOptions & Octokit.ReposCompareCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createCommitComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateCommitCommentParamsDeprecatedSha + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateCommitCommentParamsDeprecatedLine + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateCommitCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Deployments offer a few configurable parameters with sane 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://developer.github.com/v3/repos/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: + * + * A simple example putting the user and room into the payload to notify back to chat networks. + * + * A more advanced example specifying required commit statuses and bypassing auto-merging. + * + * 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. + * + * 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. + * + * 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?: Octokit.RequestOptions & Octokit.ReposCreateDeploymentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.ReposCreateDeploymentStatusParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/activity/events/types/#repositorydispatchevent)." + * + * 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. For a test example, see the [input example](https://developer.github.com/v3/repos/#example-4). + * + * To give you write access to the repository, you must use a personal access token with the `repo` scope. For more information, see "[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + createDispatchEvent: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateDispatchEventParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new file or updates an existing file in a repository. + * @deprecated octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07) + */ + createFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.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 + * * `repo` scope to create a private repository + */ + createForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://github.com/contact). + */ + createFork: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateForkParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + * + * Here's how you can create a hook that posts payloads in JSON format: + */ + createHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateHookParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.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 + * * `repo` scope to create a private repository + */ + createInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateInOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new file or updates an existing file in a repository. + */ + createOrUpdateFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateOrUpdateFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + createStatus: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateStatusParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. 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 /repos/:owner/:repo`](https://developer.github.com/v3/repos/#get) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://developer.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 + * * `repo` scope to create a private repository + * + * \` + */ + createUsingTemplate: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateUsingTemplateParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + declineInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeclineInvitationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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, a member will get this response: + */ + delete: { + (params?: Octokit.RequestOptions & Octokit.ReposDeleteParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + deleteCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteCommitCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteDownload: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteDownloadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + deleteFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteHookParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteInvitationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteReleaseParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + deleteReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteReleaseAssetParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.github.com/en/articles/configuring-automated-security-fixes)" in the GitHub Help documentation. + */ + disableAutomatedSecurityFixes: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposDisableAutomatedSecurityFixesParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + disablePagesSite: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDisablePagesSiteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Disables vulnerability 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://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + disableVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposDisableVulnerabilityAlertsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.github.com/en/articles/configuring-automated-security-fixes)" in the GitHub Help documentation. + */ + enableAutomatedSecurityFixes: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposEnableAutomatedSecurityFixesParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + enablePagesSite: { + ( + params?: Octokit.RequestOptions & Octokit.ReposEnablePagesSiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Enables vulnerability 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://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)" in the GitHub Help documentation. + */ + enableVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposEnableVulnerabilityAlertsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + get: { + (params?: Octokit.RequestOptions & Octokit.ReposGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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?: Octokit.RequestOptions & + Octokit.ReposGetAppsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetAppsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a redirect URL to download an archive for a repository. The `:archive_format` can be either `tarball` or `zipball`. The `:ref` must be a valid Git reference. If you omit `:ref`, the repository’s default branch (usually `master`) 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. + * + * To follow redirects with curl, use the `-L` switch: + */ + getArchiveLink: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetArchiveLinkParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + getBranch: { + (params?: Octokit.RequestOptions & Octokit.ReposGetBranchParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + getBranchProtection: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetBranchProtectionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ReposGetClonesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + getCodeFrequencyStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCodeFrequencyStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Possible values for the `permission` key: `admin`, `write`, `read`, `none`. + */ + getCollaboratorPermissionLevel: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCollaboratorPermissionLevelParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + * + * The most recent status for each context is returned, up to 100. This field [paginates](https://developer.github.com/v3/#pagination) if there are over 100 contexts. + * + * 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?: Octokit.RequestOptions & + Octokit.ReposGetCombinedStatusForRefParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * You can pass the appropriate [media type](https://developer.github.com/v3/media/#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://developer.github.com/v3/media/#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: + * + * 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. | + */ + getCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitParamsDeprecatedSha + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitParamsDeprecatedCommitSha + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.ReposGetCommitParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & + Octokit.ReposGetCommitActivityStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetCommitCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** To access this endpoint, you must provide a custom [media type](https://developer.github.com/v3/media) in the `Accept` header: + * ``` + * application/vnd.github.VERSION.sha + * ``` + * Returns the SHA-1 of the commit reference. You must have `read` access for the repository to get the SHA-1 of a commit reference. You can use this endpoint to check if a remote reference's SHA-1 is the same as your local reference's SHA-1 by providing the local SHA-1 reference as the ETag. + * @deprecated "Get the SHA-1 of a commit reference" will be removed. Use "Get a single commit" instead with media type format set to "sha" instead. + */ + getCommitRefSha: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetCommitRefShaParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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 all files in the repository. + * + * Files and symlinks support [a custom media type](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw content or rendered HTML (when supported). All content types support [a custom media type](https://developer.github.com/v3/repos/contents/#custom-media-types) to ensure the content is returned in a consistent object format. + * + * **Note**: + * + * * To get a repository's contents recursively, you can [recursively get the tree](https://developer.github.com/v3/git/trees/). + * * 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://developer.github.com/v3/git/trees/#get-a-tree). + * * This API supports files up to 1 megabyte in size. + * + * 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 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 above](https://developer.github.com/v3/repos/contents/#response-if-content-is-a-file)). + * + * Otherwise, the API responds with an object describing the symlink itself: + * + * 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. + */ + getContents: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetContentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * * `total` - The Total number of commits authored by the contributor. + * + * Weekly Hash (`weeks` array): + * + * * `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?: Octokit.RequestOptions & + Octokit.ReposGetContributorsStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeployKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getDeployment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeploymentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeploymentStatusParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getDownload: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDownloadParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getHook: { + (params?: Octokit.RequestOptions & Octokit.ReposGetHookParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getLatestPagesBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetLatestPagesBuildParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ReposGetLatestReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getPages: { + (params?: Octokit.RequestOptions & Octokit.ReposGetPagesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getPagesBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetPagesBuildParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + getParticipationStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetParticipationStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + getProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchAdminEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchAdminEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + getProtectedBranchPullRequestReviewEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchPullRequestReviewEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchPullRequestReviewEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getProtectedBranchRequiredSignatures: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRequiredSignaturesParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchRequiredSignaturesResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + getProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRequiredStatusChecksParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchRequiredStatusChecksResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. {{#note}} + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + getProtectedBranchRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRestrictionsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ReposGetPunchCardStatsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://developer.github.com/v3/repos/contents/#custom-media-types) for retrieving the raw content or rendered HTML. + */ + getReadme: { + (params?: Octokit.RequestOptions & Octokit.ReposGetReadmeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://developer.github.com/v3/#hypermedia). + */ + getRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://developer.github.com/v3/media/#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?: Octokit.RequestOptions & Octokit.ReposGetReleaseAssetParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseByTagParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. If you pass the `hellcat-preview` media type, the list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetTeamsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetTeamsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetTopPathsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetTopReferrersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetUsersWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetUsersWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ReposGetViewsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.ReposListParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + * @deprecated octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13) + */ + listAppsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListAppsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListAppsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + listAssetsForRelease: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListAssetsForReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listBranches: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListBranchesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListBranchesForHeadCommitParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + * + * If you pass the `hellcat-preview` media type, team members will include the members of child teams. + */ + listCollaborators: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCollaboratorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + listCommentsForCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListCommentsForCommitParamsDeprecatedRef + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposListCommentsForCommitParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Commit Comments use [these custom media types](https://developer.github.com/v3/repos/comments/#custom-media-types). You can read more about the use of media types in the API [here](https://developer.github.com/v3/media/). + * + * Comments are ordered by ascending ID. + */ + listCommitComments: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCommitCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **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: + * + * 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. | + */ + listCommits: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCommitsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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 v3 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?: Octokit.RequestOptions & Octokit.ReposListContributorsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listDeployKeys: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDeployKeysParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListDeploymentStatusesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDeploymentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listDownloads: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDownloadsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists repositories for the specified organization. + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListForOrgParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists public repositories for the specified user. + */ + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + listForks: { + (params?: Octokit.RequestOptions & Octokit.ReposListForksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listHooks: { + (params?: Octokit.RequestOptions & Octokit.ReposListHooksParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListInvitationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListInvitationsForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ReposListInvitationsForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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?: Octokit.RequestOptions & Octokit.ReposListLanguagesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listPagesBuilds: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListPagesBuildsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + listProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposListProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. If you pass the `hellcat-preview` media type, the list includes child teams. + * @deprecated octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09) + */ + listProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposListProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + * @deprecated octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09) + */ + listProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposListProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://developer.github.com/v3/#link-header) to get the URL for the next page of repositories. + */ + listPublic: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListPublicParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoint. + */ + listPullRequestsAssociatedWithCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListPullRequestsAssociatedWithCommitParams + ): Promise< + Octokit.Response< + Octokit.ReposListPullRequestsAssociatedWithCommitResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/repos/#list-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + listReleases: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListReleasesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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`. + */ + listStatusesForRef: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListStatusesForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listTags: { + (params?: Octokit.RequestOptions & Octokit.ReposListTagsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listTeams: { + (params?: Octokit.RequestOptions & Octokit.ReposListTeamsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. If you pass the `hellcat-preview` media type, the list includes child teams. + * @deprecated octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13) + */ + listTeamsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListTeamsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListTeamsWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + listTopics: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListTopicsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + * @deprecated octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13) + */ + listUsersWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListUsersWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListUsersWithAccessToProtectedBranchResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + merge: { + (params?: Octokit.RequestOptions & Octokit.ReposMergeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: Octokit.RequestOptions & Octokit.ReposPingHookParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + removeBranchProtection: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveBranchProtectionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + removeCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ReposRemoveCollaboratorParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + removeDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposRemoveDeployKeyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + removeProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchAdminEnforcementParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchAppRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchAppRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchAppRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + removeProtectedBranchPullRequestReviewEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchPullRequestReviewEnforcementParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + */ + removeProtectedBranchRequiredSignatures: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRequiredSignaturesParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRequiredStatusChecksParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + removeProtectedBranchRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRestrictionsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. If you pass the `hellcat-preview` media type, you can include child teams. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. | + */ + removeProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposRemoveProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + * + * | Type | Description | + * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchAppRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchAppRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchAppRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + */ + replaceProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. If you pass the `hellcat-preview` media type, you can include child teams. + * + * | Type | Description | + * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ | + * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchTeamRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. | + */ + replaceProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchUserRestrictionsResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + + replaceTopics: { + ( + params?: Octokit.RequestOptions & Octokit.ReposReplaceTopicsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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. + */ + requestPageBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposRequestPageBuildParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint will return all community profile metrics, including an overall health score, repository description, the presence of documentation, detected code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, README, and CONTRIBUTING files. + */ + retrieveCommunityProfileMetrics: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRetrieveCommunityProfileMetricsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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` + */ + testPushHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposTestPushHookParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.github.com/articles/about-repository-transfers/). + */ + transfer: { + (params?: Octokit.RequestOptions & Octokit.ReposTransferParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: To edit a repository's topics, use the [`topics` endpoint](https://developer.github.com/v3/repos/#replace-all-topics-for-a-repository). + */ + update: { + (params?: Octokit.RequestOptions & Octokit.ReposUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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?: Octokit.RequestOptions & + Octokit.ReposUpdateBranchProtectionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateCommitCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new file or updates an existing file in a repository. + * @deprecated octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07) + */ + updateFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateFileParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateHookParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + updateInformationAboutPagesSite: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateInformationAboutPagesSiteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + updateInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateInvitationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) 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. + */ + updateProtectedBranchPullRequestReviewEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Protected branches are available in public repositories with GitHub Free, and in public and private repositories with GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. For more information, see [GitHub's billing plans](https://help.github.com/articles/github-s-billing-plans) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateProtectedBranchRequiredStatusChecksParams + ): Promise< + Octokit.Response< + Octokit.ReposUpdateProtectedBranchRequiredStatusChecksResponse + > + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateReleaseParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateReleaseAssetParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://developer.github.com/v3/#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://developer.github.com/v3/repos/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. + */ + uploadReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUploadReleaseAssetParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + search: { + /** + * Find file contents via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#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://developer.github.com/v3/search/#text-match-metadata). + * + * **Note:** You must [authenticate](https://developer.github.com/v3/#authentication) to search for code across all public repositories. + * + * **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. + * + * Suppose you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery). Your query would look something like this: + * + * Here, we're searching for the keyword `addClass` within a file's contents. We're making sure that we're only looking in files where the language is JavaScript. And we're scoping the search to the `repo:jquery/jquery` repository. + */ + code: { + (params?: Octokit.RequestOptions & Octokit.SearchCodeParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find commits via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#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://developer.github.com/v3/search/#text-match-metadata). + * + * **Considerations for commit search** + * + * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * + * Suppose 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: + */ + commits: { + (params?: Octokit.RequestOptions & Octokit.SearchCommitsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#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://developer.github.com/v3/search/#text-match-metadata). + * + * Let's say you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * In this query, we're searching for the keyword `windows`, within any open issue that's labeled as `bug`. The search runs across repositories whose primary language is Python. We’re sorting by creation date in ascending order, so that the oldest issues appear first in the search results. + * @deprecated octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27) + */ + issues: { + (params?: Octokit.RequestOptions & Octokit.SearchIssuesParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#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://developer.github.com/v3/search/#text-match-metadata). + * + * Let's say you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * In this query, we're searching for the keyword `windows`, within any open issue that's labeled as `bug`. The search runs across repositories whose primary language is Python. We’re sorting by creation date in ascending order, so that the oldest issues appear first in the search results. + */ + issuesAndPullRequests: { + ( + params?: Octokit.RequestOptions & + Octokit.SearchIssuesAndPullRequestsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://developer.github.com/v3/#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://developer.github.com/v3/search/#text-match-metadata). + * + * Suppose you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * The labels that best match for the query appear first in the search results. + */ + labels: { + (params?: Octokit.RequestOptions & Octokit.SearchLabelsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#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://developer.github.com/v3/search/#text-match-metadata). + * + * Suppose you want to search for popular Tetris repositories written in Assembly. Your query might look like this. + * + * You can search for multiple topics by adding more `topic:` instances, and including the `mercy-preview` header. For example: + * + * In this request, we're searching for repositories with the word `tetris` in the name, the description, or the README. We're limiting the results to only find repositories where the primary language is Assembly. We're sorting by stars in descending order, so that the most popular repositories appear first in the search results. + */ + repos: { + (params?: Octokit.RequestOptions & Octokit.SearchReposParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * 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://developer.github.com/v3/search/#text-match-metadata). + * + * See "[Searching topics](https://help.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * Suppose you want to search for topics related to Ruby that are featured on [https://github.com/topics](https://github.com/topics). Your query might look like this: + * + * In this request, we're searching for topics with the keyword `ruby`, and we're limiting 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. + * + * **Note:** A search for featured Ruby topics only has 6 total results, so a [Link header](https://developer.github.com/v3/#link-header) indicating pagination is not included in the response. + */ + topics: { + (params?: Octokit.RequestOptions & Octokit.SearchTopicsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://developer.github.com/v3/search/#text-match-metadata). + * + * Imagine you're looking for a list of popular users. You might try out this query: + * + * Here, we're looking at users with the name Tom. We're only interested in those with more than 42 repositories, and only if they have over 1,000 followers. + */ + users: { + (params?: Octokit.RequestOptions & Octokit.SearchUsersParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + teams: { + /** + * The "Add team member" API (described below) is deprecated. + * + * We recommend using the [Add team membership API](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) 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://help.github.com/articles/github-s-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be a team maintainer in the team they're changing or be an owner of the organization that the team is associated with. 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://help.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://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addMember() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member + */ + addMember: { + (params?: Octokit.RequestOptions & Octokit.TeamsAddMemberParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/articles/github-s-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 maintainer of 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://help.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 maintainer of the team. + */ + addOrUpdateMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateMembershipParams + ): Promise>; + + endpoint: Octokit.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. + */ + addOrUpdateProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsAddOrUpdateProjectParams + ): Promise>; + + endpoint: Octokit.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. + * + * If you pass the `hellcat-preview` media type, you can modify repository permissions of child teams. + * + * 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://developer.github.com/v3/#http-verbs)." + */ + addOrUpdateRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsAddOrUpdateRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: If you pass the `hellcat-preview` media type, repositories inherited through a parent team will 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://developer.github.com/v3/media/) via the `Accept` header: + */ + checkManagesRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsCheckManagesRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + */ + create: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateParamsDeprecatedPermission + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.TeamsCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsCreateDiscussionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://help.github.com/articles/about-notifications/). Creating content too quickly using this endpoint may result in abuse rate limiting. See "[Abuse rate limits](https://developer.github.com/v3/#abuse-rate-limits)" and "[Dealing with abuse rate limits](https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits)" for details. + */ + createDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * To delete a team, the authenticated user must be a team maintainer or an owner of the org associated with the team. + * + * If you are an organization owner and you pass the `hellcat-preview` media type, deleting a parent team will delete all of its child teams as well. + */ + delete: { + (params?: Octokit.RequestOptions & Octokit.TeamsDeleteParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsDeleteDiscussionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionCommentParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + get: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + */ + getByName: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetByNameParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetDiscussionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsGetDiscussionCommentParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * The "Get team member" API (described below) is deprecated. + * + * We recommend using the [Get team membership API](https://developer.github.com/v3/teams/members/#get-team-membership) 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. + * @deprecated octokit.teams.getMember() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member + */ + getMember: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetMemberParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * If you pass the `hellcat-preview` media type, 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 `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + */ + getMembership: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + list: { + (params?: Octokit.RequestOptions & Octokit.TeamsListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * At this time, the `hellcat-preview` media type is required to use this endpoint. + */ + listChild: { + (params?: Octokit.RequestOptions & Octokit.TeamsListChildParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listDiscussionComments: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionCommentsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listDiscussions: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListDiscussionsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://developer.github.com/apps/building-oauth-apps/). + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * If you pass the `hellcat-preview` media type, team members will include the members of child teams. + */ + listMembers: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListMembersParams + ): Promise>; + + endpoint: Octokit.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`. + */ + listPendingInvitations: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListPendingInvitationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the organization projects for a team. If you pass the `hellcat-preview` media type, the response will include projects inherited from a parent team. + */ + listProjects: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListProjectsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Note**: If you pass the `hellcat-preview` media type, the response will include any repositories inherited through a parent team. + */ + listRepos: { + (params?: Octokit.RequestOptions & Octokit.TeamsListReposParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * The "Remove team member" API (described below) is deprecated. + * + * We recommend using the [Remove team membership endpoint](https://developer.github.com/v3/teams/members/#remove-team-membership) 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://help.github.com/articles/github-s-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://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMember() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member + */ + removeMember: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMemberParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/articles/github-s-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://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + removeMembership: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMembershipParams + ): Promise; + + endpoint: Octokit.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. + */ + removeProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveProjectParams + ): Promise; + + endpoint: Octokit.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. + */ + removeRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. If you pass the `hellcat-preview` media type, the response will include projects inherited from a parent team. + */ + reviewProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsReviewProjectParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * To edit a team, the authenticated user must either be an owner of the org that the team is associated with, or a maintainer of the team. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + update: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateParamsDeprecatedPermission + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.TeamsUpdateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + updateDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsUpdateDiscussionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + updateDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionCommentParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + }; + users: { + /** + * This endpoint is accessible with the `user` scope. + */ + addEmails: { + (params?: Octokit.RequestOptions & Octokit.UsersAddEmailsParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + block: { + (params?: Octokit.RequestOptions & Octokit.UsersBlockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlocked: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCheckBlockedParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + checkFollowing: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCheckFollowingParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + checkFollowingForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersCheckFollowingForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createGpgKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCreateGpgKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + createPublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCreatePublicKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + deleteEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeleteEmailsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deleteGpgKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeleteGpgKeyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + deletePublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeletePublicKeyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#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?: Octokit.RequestOptions & Octokit.UsersFollowParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists public and private profile information when authenticated through basic auth or OAuth with the `user` scope. + * + * Lists public profile information when authenticated through OAuth without the `user` scope. + */ + getAuthenticated: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.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](https://developer.github.com/v3/users/#response-with-github-plan-information)." + * + * 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://developer.github.com/v3/#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://developer.github.com/v3/users/emails/)". + */ + getByUsername: { + ( + params?: Octokit.RequestOptions & Octokit.UsersGetByUsernameParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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: + */ + getContextForUser: { + ( + params?: Octokit.RequestOptions & Octokit.UsersGetContextForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getGpgKey: { + (params?: Octokit.RequestOptions & Octokit.UsersGetGpgKeyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + getPublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersGetPublicKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/v3/#link-header) to get the URL for the next page of users. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.UsersListParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlocked: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + listEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListEmailsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listFollowersForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowersForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listFollowersForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowersForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listFollowingForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowingForAuthenticatedUserParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + listFollowingForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListFollowingForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listGpgKeys: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListGpgKeysParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListGpgKeysForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists your publicly visible email address, which you can set with the [Toggle primary email visibility](https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility) endpoint. This endpoint is accessible with the `user:email` scope. + */ + listPublicEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListPublicEmailsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * 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://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + listPublicKeys: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListPublicKeysParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersListPublicKeysForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Sets the visibility for your primary email addresses. + */ + togglePrimaryEmailVisibility: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersTogglePrimaryEmailVisibilityParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + unblock: { + (params?: Octokit.RequestOptions & Octokit.UsersUnblockParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + unfollow: { + (params?: Octokit.RequestOptions & Octokit.UsersUnfollowParams): Promise< + Octokit.AnyResponse + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **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?: Octokit.RequestOptions & Octokit.UsersUpdateAuthenticatedParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; +} + +export = Octokit; diff --git a/node_modules/@octokit/rest/index.js b/node_modules/@octokit/rest/index.js new file mode 100644 index 0000000..5a228f3 --- /dev/null +++ b/node_modules/@octokit/rest/index.js @@ -0,0 +1,15 @@ +const Octokit = require("./lib/core"); + +const CORE_PLUGINS = [ + require("./plugins/log"), + require("./plugins/authentication-deprecated"), // deprecated: remove in v17 + require("./plugins/authentication"), + require("./plugins/pagination"), + require("./plugins/register-endpoints"), + require("./plugins/rest-api-endpoints"), + require("./plugins/validate"), + + require("octokit-pagination-methods") // deprecated: remove in v17 +]; + +module.exports = Octokit.plugin(CORE_PLUGINS); diff --git a/node_modules/@octokit/rest/lib/constructor.js b/node_modules/@octokit/rest/lib/constructor.js new file mode 100644 index 0000000..d83cf6b --- /dev/null +++ b/node_modules/@octokit/rest/lib/constructor.js @@ -0,0 +1,29 @@ +module.exports = Octokit; + +const { request } = require("@octokit/request"); +const Hook = require("before-after-hook"); + +const parseClientOptions = require("./parse-client-options"); + +function Octokit(plugins, options) { + options = options || {}; + const hook = new Hook.Collection(); + const log = Object.assign( + { + debug: () => {}, + info: () => {}, + warn: console.warn, + error: console.error + }, + options && options.log + ); + const api = { + hook, + log, + request: request.defaults(parseClientOptions(options, log, hook)) + }; + + plugins.forEach(pluginFunction => pluginFunction(api, options)); + + return api; +} diff --git a/node_modules/@octokit/rest/lib/core.js b/node_modules/@octokit/rest/lib/core.js new file mode 100644 index 0000000..4943ffa --- /dev/null +++ b/node_modules/@octokit/rest/lib/core.js @@ -0,0 +1,3 @@ +const factory = require("./factory"); + +module.exports = factory(); diff --git a/node_modules/@octokit/rest/lib/factory.js b/node_modules/@octokit/rest/lib/factory.js new file mode 100644 index 0000000..5dc2065 --- /dev/null +++ b/node_modules/@octokit/rest/lib/factory.js @@ -0,0 +1,10 @@ +module.exports = factory; + +const Octokit = require("./constructor"); +const registerPlugin = require("./register-plugin"); + +function factory(plugins) { + const Api = Octokit.bind(null, plugins || []); + Api.plugin = registerPlugin.bind(null, plugins || []); + return Api; +} diff --git a/node_modules/@octokit/rest/lib/parse-client-options.js b/node_modules/@octokit/rest/lib/parse-client-options.js new file mode 100644 index 0000000..c7c097d --- /dev/null +++ b/node_modules/@octokit/rest/lib/parse-client-options.js @@ -0,0 +1,89 @@ +module.exports = parseOptions; + +const { Deprecation } = require("deprecation"); +const { getUserAgent } = require("universal-user-agent"); +const once = require("once"); + +const pkg = require("../package.json"); + +const deprecateOptionsTimeout = once((log, deprecation) => + log.warn(deprecation) +); +const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation)); +const deprecateOptionsHeaders = once((log, deprecation) => + log.warn(deprecation) +); + +function parseOptions(options, log, hook) { + if (options.headers) { + options.headers = Object.keys(options.headers).reduce((newObj, key) => { + newObj[key.toLowerCase()] = options.headers[key]; + return newObj; + }, {}); + } + + const clientDefaults = { + headers: options.headers || {}, + request: options.request || {}, + mediaType: { + previews: [], + format: "" + } + }; + + if (options.baseUrl) { + clientDefaults.baseUrl = options.baseUrl; + } + + if (options.userAgent) { + clientDefaults.headers["user-agent"] = options.userAgent; + } + + if (options.previews) { + clientDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + clientDefaults.headers["time-zone"] = options.timeZone; + } + + if (options.timeout) { + deprecateOptionsTimeout( + log, + new Deprecation( + "[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request" + ) + ); + clientDefaults.request.timeout = options.timeout; + } + + if (options.agent) { + deprecateOptionsAgent( + log, + new Deprecation( + "[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request" + ) + ); + clientDefaults.request.agent = options.agent; + } + + if (options.headers) { + deprecateOptionsHeaders( + log, + new Deprecation( + "[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request" + ) + ); + } + + const userAgentOption = clientDefaults.headers["user-agent"]; + const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`; + + clientDefaults.headers["user-agent"] = [userAgentOption, defaultUserAgent] + .filter(Boolean) + .join(" "); + + clientDefaults.request.hook = hook.bind(null, "request"); + + return clientDefaults; +} diff --git a/node_modules/@octokit/rest/lib/register-plugin.js b/node_modules/@octokit/rest/lib/register-plugin.js new file mode 100644 index 0000000..c1ae775 --- /dev/null +++ b/node_modules/@octokit/rest/lib/register-plugin.js @@ -0,0 +1,9 @@ +module.exports = registerPlugin; + +const factory = require("./factory"); + +function registerPlugin(plugins, pluginFunction) { + return factory( + plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction) + ); +} diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/LICENSE.md b/node_modules/@octokit/rest/node_modules/universal-user-agent/LICENSE.md new file mode 100644 index 0000000..f105ab0 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/LICENSE.md @@ -0,0 +1,7 @@ +# [ISC License](https://spdx.org/licenses/ISC) + +Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m) + +Permission to use, copy, modify, and/or 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. diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/README.md b/node_modules/@octokit/rest/node_modules/universal-user-agent/README.md new file mode 100644 index 0000000..d00d14c --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/README.md @@ -0,0 +1,25 @@ +# universal-user-agent + +> Get a user agent string in both browser and node + +[![@latest](https://img.shields.io/npm/v/universal-user-agent.svg)](https://www.npmjs.com/package/universal-user-agent) +[![Build Status](https://travis-ci.com/gr2m/universal-user-agent.svg?branch=master)](https://travis-ci.com/gr2m/universal-user-agent) +[![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) + +```js +const { getUserAgent } = require("universal-user-agent"); +// or import { getUserAgent } from "universal-user-agent"; + +const userAgent = getUserAgent(); +// userAgent will look like this +// in browser: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0" +// in node: Node.js/v8.9.4 (macOS High Sierra; x64) +``` + +## Credits + +The Node implementation was originally inspired by [default-user-agent](https://www.npmjs.com/package/default-user-agent). + +## License + +[ISC](LICENSE.md) diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js new file mode 100644 index 0000000..80a0710 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js @@ -0,0 +1,22 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var osName = _interopDefault(require('os-name')); + +function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + + throw error; + } +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js.map b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js.map new file mode 100644 index 0000000..aff09ec --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/node.js"],"sourcesContent":["import osName from \"os-name\";\nexport function getUserAgent() {\n try {\n return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;\n }\n catch (error) {\n if (/wmic os get Caption/.test(error.message)) {\n return \"Windows \";\n }\n throw error;\n }\n}\n"],"names":["getUserAgent","process","version","substr","osName","arch","error","test","message"],"mappings":";;;;;;;;AACO,SAASA,YAAT,GAAwB;MACvB;WACQ,WAAUC,OAAO,CAACC,OAAR,CAAgBC,MAAhB,CAAuB,CAAvB,CAA0B,KAAIC,MAAM,EAAG,KAAIH,OAAO,CAACI,IAAK,GAA1E;GADJ,CAGA,OAAOC,KAAP,EAAc;QACN,sBAAsBC,IAAtB,CAA2BD,KAAK,CAACE,OAAjC,CAAJ,EAA+C;aACpC,gCAAP;;;UAEEF,KAAN;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/browser.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/browser.js new file mode 100644 index 0000000..6f52232 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/browser.js @@ -0,0 +1,3 @@ +export function getUserAgent() { + return navigator.userAgent; +} diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/index.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/index.js new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/index.js @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/node.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/node.js new file mode 100644 index 0000000..8b70a03 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/node.js @@ -0,0 +1,12 @@ +import osName from "os-name"; +export function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } + catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + throw error; + } +} diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/browser.d.ts b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/browser.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/browser.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/index.d.ts b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/index.d.ts new file mode 100644 index 0000000..c6253f5 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/index.d.ts @@ -0,0 +1 @@ +export { getUserAgent } from "./node"; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/node.d.ts b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/node.d.ts new file mode 100644 index 0000000..a7bb1c4 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-types/node.d.ts @@ -0,0 +1 @@ +export declare function getUserAgent(): string; diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js new file mode 100644 index 0000000..11ec79b --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js @@ -0,0 +1,6 @@ +function getUserAgent() { + return navigator.userAgent; +} + +export { getUserAgent }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js.map b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js.map new file mode 100644 index 0000000..549407e --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/browser.js"],"sourcesContent":["export function getUserAgent() {\n return navigator.userAgent;\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;IAC3B,OAAO,SAAS,CAAC,SAAS,CAAC;CAC9B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json b/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json new file mode 100644 index 0000000..4a43790 --- /dev/null +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json @@ -0,0 +1,37 @@ +{ + "name": "universal-user-agent", + "description": "Get a user agent string in both browser and node", + "version": "4.0.0", + "license": "ISC", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [], + "repository": "https://github.com/gr2m/universal-user-agent.git", + "dependencies": { + "os-name": "^3.1.0" + }, + "devDependencies": { + "@gr2m/pika-plugin-build-web": "^0.6.0-issue-84.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.6.0", + "@pika/plugin-ts-standard-pkg": "^0.6.0", + "@types/jest": "^24.0.18", + "jest": "^24.9.0", + "prettier": "^1.18.2", + "semantic-release": "^15.9.15", + "ts-jest": "^24.0.2", + "typescript": "^3.6.2" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" + +,"_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz" +,"_integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==" +,"_from": "universal-user-agent@4.0.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/rest/package.json b/node_modules/@octokit/rest/package.json new file mode 100644 index 0000000..f8282fd --- /dev/null +++ b/node_modules/@octokit/rest/package.json @@ -0,0 +1,139 @@ +{ + "name": "@octokit/rest", + "version": "16.34.0", + "publishConfig": { + "access": "public" + }, + "description": "GitHub REST API client for Node.js", + "keywords": [ + "octokit", + "github", + "rest", + "api-client" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "contributors": [ + { + "name": "Mike de Boer", + "email": "info@mikedeboer.nl" + }, + { + "name": "Fabian Jakobs", + "email": "fabian@c9.io" + }, + { + "name": "Joe Gallo", + "email": "joe@brassafrax.com" + }, + { + "name": "Gregor Martynus", + "url": "https://github.com/gr2m" + } + ], + "repository": "https://github.com/octokit/rest.js", + "dependencies": { + "@octokit/request": "^5.2.0", + "@octokit/request-error": "^1.0.2", + "atob-lite": "^2.0.0", + "before-after-hook": "^2.0.0", + "btoa-lite": "^1.0.0", + "deprecation": "^2.0.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lodash.uniq": "^4.5.0", + "octokit-pagination-methods": "^1.1.0", + "once": "^1.4.0", + "universal-user-agent": "^4.0.0" + }, + "devDependencies": { + "@gimenete/type-writer": "^0.1.3", + "@octokit/fixtures-server": "^5.0.6", + "@octokit/graphql": "^4.2.0", + "@types/node": "^12.0.0", + "bundlesize": "^0.18.0", + "chai": "^4.1.2", + "compression-webpack-plugin": "^3.0.0", + "cypress": "^3.0.0", + "glob": "^7.1.2", + "http-proxy-agent": "^2.1.0", + "lodash.camelcase": "^4.3.0", + "lodash.merge": "^4.6.1", + "lodash.upperfirst": "^4.3.1", + "mkdirp": "^0.5.1", + "mocha": "^6.0.0", + "mustache": "^3.0.0", + "nock": "^11.3.3", + "npm-run-all": "^4.1.2", + "nyc": "^14.0.0", + "prettier": "^1.14.2", + "proxy": "^1.0.0", + "semantic-release": "^15.0.0", + "sinon": "^7.2.4", + "sinon-chai": "^3.0.0", + "sort-keys": "^4.0.0", + "string-to-arraybuffer": "^1.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typescript": "^3.3.1", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.0.0", + "webpack-cli": "^3.0.0" + }, + "types": "index.d.ts", + "scripts": { + "coverage": "nyc report --reporter=html && open coverage/index.html", + "lint": "prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json", + "lint:fix": "prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json", + "pretest": "npm run -s lint", + "test": "nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"", + "test:browser": "cypress run --browser chrome", + "build": "npm-run-all build:*", + "build:ts": "npm run -s update-endpoints:typescript", + "prebuild:browser": "mkdirp dist/", + "build:browser": "npm-run-all build:browser:*", + "build:browser:development": "webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json", + "build:browser:production": "webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map", + "generate-bundle-report": "webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html", + "update-endpoints": "npm-run-all update-endpoints:*", + "update-endpoints:fetch-json": "node scripts/update-endpoints/fetch-json", + "update-endpoints:code": "node scripts/update-endpoints/code", + "update-endpoints:typescript": "node scripts/update-endpoints/typescript", + "prevalidate:ts": "npm run -s build:ts", + "validate:ts": "tsc --target es6 --noImplicitAny index.d.ts", + "postvalidate:ts": "tsc --noEmit --target es6 test/typescript-validate.ts", + "start-fixtures-server": "octokit-fixtures-server" + }, + "license": "MIT", + "files": [ + "index.js", + "index.d.ts", + "lib", + "plugins" + ], + "nyc": { + "ignore": [ + "test" + ] + }, + "release": { + "publish": [ + "@semantic-release/npm", + { + "path": "@semantic-release/github", + "assets": [ + "dist/*", + "!dist/*.map.gz" + ] + } + ] + }, + "bundlesize": [ + { + "path": "./dist/octokit-rest.min.js.gz", + "maxSize": "33 kB" + } + ] + +,"_resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.34.0.tgz" +,"_integrity": "sha512-EBe5qMQQOZRuezahWCXCnSe0J6tAqrW2hrEH9U8esXzKor1+HUDf8jgImaZf5lkTyWCQA296x9kAH5c0pxEgVQ==" +,"_from": "@octokit/rest@16.34.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js new file mode 100644 index 0000000..86ce9e9 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js @@ -0,0 +1,52 @@ +module.exports = authenticate; + +const { Deprecation } = require("deprecation"); +const once = require("once"); + +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)); + +function authenticate(state, options) { + deprecateAuthenticate( + state.octokit.log, + new Deprecation( + '[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.' + ) + ); + + if (!options) { + state.auth = false; + return; + } + + switch (options.type) { + case "basic": + if (!options.username || !options.password) { + throw new Error( + "Basic authentication requires both a username and password to be set" + ); + } + break; + + case "oauth": + if (!options.token && !(options.key && options.secret)) { + throw new Error( + "OAuth2 authentication requires a token or key & secret to be set" + ); + } + break; + + case "token": + case "app": + if (!options.token) { + throw new Error("Token authentication requires a token to be set"); + } + break; + + default: + throw new Error( + "Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'" + ); + } + + state.auth = options; +} diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js new file mode 100644 index 0000000..dbb83ab --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js @@ -0,0 +1,43 @@ +module.exports = authenticationBeforeRequest; + +const btoa = require("btoa-lite"); +const uniq = require("lodash.uniq"); + +function authenticationBeforeRequest(state, options) { + if (!state.auth.type) { + return; + } + + if (state.auth.type === "basic") { + const hash = btoa(`${state.auth.username}:${state.auth.password}`); + options.headers.authorization = `Basic ${hash}`; + return; + } + + if (state.auth.type === "token") { + options.headers.authorization = `token ${state.auth.token}`; + return; + } + + if (state.auth.type === "app") { + options.headers.authorization = `Bearer ${state.auth.token}`; + const acceptHeaders = options.headers.accept + .split(",") + .concat("application/vnd.github.machine-man-preview+json"); + options.headers.accept = uniq(acceptHeaders) + .filter(Boolean) + .join(","); + return; + } + + options.url += options.url.indexOf("?") === -1 ? "?" : "&"; + + if (state.auth.token) { + options.url += `access_token=${encodeURIComponent(state.auth.token)}`; + return; + } + + const key = encodeURIComponent(state.auth.key); + const secret = encodeURIComponent(state.auth.secret); + options.url += `client_id=${key}&client_secret=${secret}`; +} diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js new file mode 100644 index 0000000..7e0cc4f --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js @@ -0,0 +1,31 @@ +module.exports = authenticationPlugin; + +const { Deprecation } = require("deprecation"); +const once = require("once"); + +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)); + +const authenticate = require("./authenticate"); +const beforeRequest = require("./before-request"); +const requestError = require("./request-error"); + +function authenticationPlugin(octokit, options) { + if (options.auth) { + octokit.authenticate = () => { + deprecateAuthenticate( + octokit.log, + new Deprecation( + '[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor' + ) + ); + }; + return; + } + const state = { + octokit, + auth: false + }; + octokit.authenticate = authenticate.bind(null, state); + octokit.hook.before("request", beforeRequest.bind(null, state)); + octokit.hook.error("request", requestError.bind(null, state)); +} diff --git a/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js b/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js new file mode 100644 index 0000000..d2e7baa --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js @@ -0,0 +1,55 @@ +module.exports = authenticationRequestError; + +const { RequestError } = require("@octokit/request-error"); + +function authenticationRequestError(state, error, options) { + /* istanbul ignore next */ + if (!error.headers) throw error; + + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); + // handle "2FA required" error only + if (error.status !== 401 || !otpRequired) { + throw error; + } + + if ( + error.status === 401 && + otpRequired && + error.request && + error.request.headers["x-github-otp"] + ) { + throw new RequestError( + "Invalid one-time password for two-factor authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + + if (typeof state.auth.on2fa !== "function") { + throw new RequestError( + "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + + return Promise.resolve() + .then(() => { + return state.auth.on2fa(); + }) + .then(oneTimePassword => { + const newOptions = Object.assign(options, { + headers: Object.assign( + { "x-github-otp": oneTimePassword }, + options.headers + ) + }); + return state.octokit.request(newOptions); + }); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/before-request.js b/node_modules/@octokit/rest/plugins/authentication/before-request.js new file mode 100644 index 0000000..c18df95 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/before-request.js @@ -0,0 +1,65 @@ +module.exports = authenticationBeforeRequest; + +const btoa = require("btoa-lite"); + +const withAuthorizationPrefix = require("./with-authorization-prefix"); + +function authenticationBeforeRequest(state, options) { + if (typeof state.auth === "string") { + options.headers.authorization = withAuthorizationPrefix(state.auth); + + // https://developer.github.com/v3/previews/#integrations + if ( + /^bearer /i.test(state.auth) && + !/machine-man/.test(options.headers.accept) + ) { + const acceptHeaders = options.headers.accept + .split(",") + .concat("application/vnd.github.machine-man-preview+json"); + options.headers.accept = acceptHeaders.filter(Boolean).join(","); + } + + return; + } + + if (state.auth.username) { + const hash = btoa(`${state.auth.username}:${state.auth.password}`); + options.headers.authorization = `Basic ${hash}`; + if (state.otp) { + options.headers["x-github-otp"] = state.otp; + } + return; + } + + if (state.auth.clientId) { + // There is a special case for OAuth applications, when `clientId` and `clientSecret` is passed as + // Basic Authorization instead of query parameters. The only routes where that applies share the same + // URL though: `/applications/:client_id/tokens/:access_token`. + // + // 1. [Check an authorization](https://developer.github.com/v3/oauth_authorizations/#check-an-authorization) + // 2. [Reset an authorization](https://developer.github.com/v3/oauth_authorizations/#reset-an-authorization) + // 3. [Revoke an authorization for an application](https://developer.github.com/v3/oauth_authorizations/#revoke-an-authorization-for-an-application) + // + // We identify by checking the URL. It must merge both "/applications/:client_id/tokens/:access_token" + // as well as "/applications/123/tokens/token456" + if (/\/applications\/:?[\w_]+\/tokens\/:?[\w_]+($|\?)/.test(options.url)) { + const hash = btoa(`${state.auth.clientId}:${state.auth.clientSecret}`); + options.headers.authorization = `Basic ${hash}`; + return; + } + + options.url += options.url.indexOf("?") === -1 ? "?" : "&"; + options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}`; + return; + } + + return Promise.resolve() + + .then(() => { + return state.auth(); + }) + + .then(authorization => { + options.headers.authorization = withAuthorizationPrefix(authorization); + }); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/index.js b/node_modules/@octokit/rest/plugins/authentication/index.js new file mode 100644 index 0000000..6a51d42 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/index.js @@ -0,0 +1,21 @@ +module.exports = authenticationPlugin; + +const beforeRequest = require("./before-request"); +const requestError = require("./request-error"); +const validate = require("./validate"); + +function authenticationPlugin(octokit, options) { + if (!options.auth) { + return; + } + + validate(options.auth); + + const state = { + octokit, + auth: options.auth + }; + + octokit.hook.before("request", beforeRequest.bind(null, state)); + octokit.hook.error("request", requestError.bind(null, state)); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/request-error.js b/node_modules/@octokit/rest/plugins/authentication/request-error.js new file mode 100644 index 0000000..9c67d55 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/request-error.js @@ -0,0 +1,61 @@ +module.exports = authenticationRequestError; + +const { RequestError } = require("@octokit/request-error"); + +function authenticationRequestError(state, error, options) { + if (!error.headers) throw error; + + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); + // handle "2FA required" error only + if (error.status !== 401 || !otpRequired) { + throw error; + } + + if ( + error.status === 401 && + otpRequired && + error.request && + error.request.headers["x-github-otp"] + ) { + if (state.otp) { + delete state.otp; // no longer valid, request again + } else { + throw new RequestError( + "Invalid one-time password for two-factor authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + } + + if (typeof state.auth.on2fa !== "function") { + throw new RequestError( + "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication", + 401, + { + headers: error.headers, + request: options + } + ); + } + + return Promise.resolve() + .then(() => { + return state.auth.on2fa(); + }) + .then(oneTimePassword => { + const newOptions = Object.assign(options, { + headers: Object.assign(options.headers, { + "x-github-otp": oneTimePassword + }) + }); + return state.octokit.request(newOptions).then(response => { + // If OTP still valid, then persist it for following requests + state.otp = oneTimePassword; + return response; + }); + }); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/validate.js b/node_modules/@octokit/rest/plugins/authentication/validate.js new file mode 100644 index 0000000..abf8377 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/validate.js @@ -0,0 +1,21 @@ +module.exports = validateAuth; + +function validateAuth(auth) { + if (typeof auth === "string") { + return; + } + + if (typeof auth === "function") { + return; + } + + if (auth.username && auth.password) { + return; + } + + if (auth.clientId && auth.clientSecret) { + return; + } + + throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`); +} diff --git a/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js b/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js new file mode 100644 index 0000000..122cab7 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js @@ -0,0 +1,23 @@ +module.exports = withAuthorizationPrefix; + +const atob = require("atob-lite"); + +const REGEX_IS_BASIC_AUTH = /^[\w-]+:/; + +function withAuthorizationPrefix(authorization) { + if (/^(basic|bearer|token) /i.test(authorization)) { + return authorization; + } + + try { + if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { + return `basic ${authorization}`; + } + } catch (error) {} + + if (authorization.split(/\./).length === 3) { + return `bearer ${authorization}`; + } + + return `token ${authorization}`; +} diff --git a/node_modules/@octokit/rest/plugins/log/index.js b/node_modules/@octokit/rest/plugins/log/index.js new file mode 100644 index 0000000..fed446a --- /dev/null +++ b/node_modules/@octokit/rest/plugins/log/index.js @@ -0,0 +1,28 @@ +module.exports = octokitDebug; + +function octokitDebug(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + + return request(options) + .then(response => { + octokit.log.info( + `${requestOptions.method} ${path} - ${ + response.status + } in ${Date.now() - start}ms` + ); + return response; + }) + + .catch(error => { + octokit.log.info( + `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - + start}ms` + ); + throw error; + }); + }); +} diff --git a/node_modules/@octokit/rest/plugins/pagination/index.js b/node_modules/@octokit/rest/plugins/pagination/index.js new file mode 100644 index 0000000..e7673bc --- /dev/null +++ b/node_modules/@octokit/rest/plugins/pagination/index.js @@ -0,0 +1,9 @@ +module.exports = paginatePlugin; + +const iterator = require("./iterator"); +const paginate = require("./paginate"); + +function paginatePlugin(octokit) { + octokit.paginate = paginate.bind(null, octokit); + octokit.paginate.iterator = iterator.bind(null, octokit); +} diff --git a/node_modules/@octokit/rest/plugins/pagination/iterator.js b/node_modules/@octokit/rest/plugins/pagination/iterator.js new file mode 100644 index 0000000..00ea8eb --- /dev/null +++ b/node_modules/@octokit/rest/plugins/pagination/iterator.js @@ -0,0 +1,34 @@ +module.exports = iterator; + +const normalizePaginatedListResponse = require("./normalize-paginated-list-response"); + +function iterator(octokit, options) { + const headers = options.headers; + let url = octokit.request.endpoint(options).url; + + return { + [Symbol.asyncIterator]: () => ({ + next() { + if (!url) { + return Promise.resolve({ done: true }); + } + + return octokit + .request({ url, headers }) + + .then(response => { + normalizePaginatedListResponse(octokit, url, response); + + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((response.headers.link || "").match( + /<([^>]+)>;\s*rel="next"/ + ) || [])[1]; + + return { value: response }; + }); + } + }) + }; +} diff --git a/node_modules/@octokit/rest/plugins/pagination/normalize-paginated-list-response.js b/node_modules/@octokit/rest/plugins/pagination/normalize-paginated-list-response.js new file mode 100644 index 0000000..e664142 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/pagination/normalize-paginated-list-response.js @@ -0,0 +1,116 @@ +/** + * 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: + * + * - https://developer.github.com/v3/search/#example (key `items`) + * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`) + * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`) + * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`) + * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`) + * - https://developer.github.com/v3/orgs/#list-installations-for-an-organization (key `installations`) + * + * 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. For the exceptions with the namespace, a fallback check for the route + * paths has to be added in order to normalize the response. We cannot check for the total_count + * property because it also exists in the response of Get the combined status for a specific ref. + */ + +module.exports = normalizePaginatedListResponse; + +const { Deprecation } = require("deprecation"); +const once = require("once"); + +const deprecateIncompleteResults = once((log, deprecation) => + log.warn(deprecation) +); +const deprecateTotalCount = once((log, deprecation) => log.warn(deprecation)); +const deprecateNamespace = once((log, deprecation) => log.warn(deprecation)); + +const REGEX_IS_SEARCH_PATH = /^\/search\//; +const REGEX_IS_CHECKS_PATH = /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)/; +const REGEX_IS_INSTALLATION_REPOSITORIES_PATH = /^\/installation\/repositories/; +const REGEX_IS_USER_INSTALLATIONS_PATH = /^\/user\/installations/; +const REGEX_IS_ORG_INSTALLATIONS_PATH = /^\/orgs\/[^/]+\/installations/; + +function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); + if ( + !REGEX_IS_SEARCH_PATH.test(path) && + !REGEX_IS_CHECKS_PATH.test(path) && + !REGEX_IS_INSTALLATION_REPOSITORIES_PATH.test(path) && + !REGEX_IS_USER_INSTALLATIONS_PATH.test(path) && + !REGEX_IS_ORG_INSTALLATIONS_PATH.test(path) + ) { + return; + } + + // keep the additional properties intact to avoid a breaking change, + // but log a deprecation warning when accessed + 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]; + + response.data = response.data[namespaceKey]; + + Object.defineProperty(response.data, namespaceKey, { + get() { + deprecateNamespace( + octokit.log, + new Deprecation( + `[@octokit/rest] "result.data.${namespaceKey}" is deprecated. Use "result.data" instead` + ) + ); + return response.data; + } + }); + + if (typeof incompleteResults !== "undefined") { + Object.defineProperty(response.data, "incomplete_results", { + get() { + deprecateIncompleteResults( + octokit.log, + new Deprecation( + '[@octokit/rest] "result.data.incomplete_results" is deprecated.' + ) + ); + return incompleteResults; + } + }); + } + + if (typeof repositorySelection !== "undefined") { + Object.defineProperty(response.data, "repository_selection", { + get() { + deprecateTotalCount( + octokit.log, + new Deprecation( + '[@octokit/rest] "result.data.repository_selection" is deprecated.' + ) + ); + return repositorySelection; + } + }); + } + + Object.defineProperty(response.data, "total_count", { + get() { + deprecateTotalCount( + octokit.log, + new Deprecation( + '[@octokit/rest] "result.data.total_count" is deprecated.' + ) + ); + return totalCount; + } + }); +} diff --git a/node_modules/@octokit/rest/plugins/pagination/paginate.js b/node_modules/@octokit/rest/plugins/pagination/paginate.js new file mode 100644 index 0000000..db4752b --- /dev/null +++ b/node_modules/@octokit/rest/plugins/pagination/paginate.js @@ -0,0 +1,40 @@ +module.exports = paginate; + +const iterator = require("./iterator"); + +function paginate(octokit, route, options, mapFn) { + if (typeof options === "function") { + mapFn = options; + options = undefined; + } + options = octokit.request.endpoint.merge(route, options); + return gather( + octokit, + [], + iterator(octokit, options)[Symbol.asyncIterator](), + mapFn + ); +} + +function gather(octokit, results, iterator, mapFn) { + return iterator.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, iterator, mapFn); + }); +} diff --git a/node_modules/@octokit/rest/plugins/register-endpoints/index.js b/node_modules/@octokit/rest/plugins/register-endpoints/index.js new file mode 100644 index 0000000..8b92538 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/register-endpoints/index.js @@ -0,0 +1,7 @@ +module.exports = octokitRegisterEndpoints; + +const registerEndpoints = require("./register-endpoints"); + +function octokitRegisterEndpoints(octokit) { + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); +} diff --git a/node_modules/@octokit/rest/plugins/register-endpoints/register-endpoints.js b/node_modules/@octokit/rest/plugins/register-endpoints/register-endpoints.js new file mode 100644 index 0000000..0ffd784 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/register-endpoints/register-endpoints.js @@ -0,0 +1,98 @@ +module.exports = registerEndpoints; + +const { Deprecation } = require("deprecation"); + +function registerEndpoints(octokit, routes) { + Object.keys(routes).forEach(namespaceName => { + if (!octokit[namespaceName]) { + octokit[namespaceName] = {}; + } + + Object.keys(routes[namespaceName]).forEach(apiName => { + const apiOptions = routes[namespaceName][apiName]; + + const endpointDefaults = ["method", "url", "headers"].reduce( + (map, key) => { + if (typeof apiOptions[key] !== "undefined") { + map[key] = apiOptions[key]; + } + + return map; + }, + {} + ); + + endpointDefaults.request = { + validate: apiOptions.params + }; + + let request = octokit.request.defaults(endpointDefaults); + + // patch request & endpoint methods to support deprecated parameters. + // Not the most elegant solution, but we don’t want to move deprecation + // logic into octokit/endpoint.js as it’s out of scope + const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find( + key => apiOptions.params[key].deprecated + ); + if (hasDeprecatedParam) { + const patch = patchForDeprecation.bind(null, octokit, apiOptions); + request = patch( + octokit.request.defaults(endpointDefaults), + `.${namespaceName}.${apiName}()` + ); + request.endpoint = patch( + request.endpoint, + `.${namespaceName}.${apiName}.endpoint()` + ); + request.endpoint.merge = patch( + request.endpoint.merge, + `.${namespaceName}.${apiName}.endpoint.merge()` + ); + } + + if (apiOptions.deprecated) { + octokit[namespaceName][apiName] = function deprecatedEndpointMethod() { + octokit.log.warn( + new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`) + ); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }; + + return; + } + + octokit[namespaceName][apiName] = request; + }); + }); +} + +function patchForDeprecation(octokit, apiOptions, method, methodName) { + const patchedMethod = options => { + options = Object.assign({}, options); + + Object.keys(options).forEach(key => { + if (apiOptions.params[key] && apiOptions.params[key].deprecated) { + const aliasKey = apiOptions.params[key].alias; + + octokit.log.warn( + new Deprecation( + `[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead` + ) + ); + + if (!(aliasKey in options)) { + options[aliasKey] = options[key]; + } + delete options[key]; + } + }); + + return method(options); + }; + Object.keys(method).forEach(key => { + patchedMethod[key] = method[key]; + }); + + return patchedMethod; +} diff --git a/node_modules/@octokit/rest/plugins/rest-api-endpoints/index.js b/node_modules/@octokit/rest/plugins/rest-api-endpoints/index.js new file mode 100644 index 0000000..4835cee --- /dev/null +++ b/node_modules/@octokit/rest/plugins/rest-api-endpoints/index.js @@ -0,0 +1,13 @@ +module.exports = octokitRestApiEndpoints; + +const ROUTES = require("./routes.json"); + +function octokitRestApiEndpoints(octokit) { + // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + ROUTES.gitdata = ROUTES.git; + ROUTES.authorization = ROUTES.oauthAuthorizations; + ROUTES.pullRequests = ROUTES.pulls; + + octokit.registerEndpoints(ROUTES); +} diff --git a/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json b/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json new file mode 100644 index 0000000..acdf001 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json @@ -0,0 +1,5831 @@ +{ + "activity": { + "checkStarringRepo": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/user/starred/:owner/:repo" + }, + "deleteRepoSubscription": { + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/subscription" + }, + "deleteThreadSubscription": { + "method": "DELETE", + "params": { "thread_id": { "required": true, "type": "integer" } }, + "url": "/notifications/threads/:thread_id/subscription" + }, + "getRepoSubscription": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/subscription" + }, + "getThread": { + "method": "GET", + "params": { "thread_id": { "required": true, "type": "integer" } }, + "url": "/notifications/threads/:thread_id" + }, + "getThreadSubscription": { + "method": "GET", + "params": { "thread_id": { "required": true, "type": "integer" } }, + "url": "/notifications/threads/:thread_id/subscription" + }, + "listEventsForOrg": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/events/orgs/:org" + }, + "listEventsForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/events" + }, + "listFeeds": { "method": "GET", "params": {}, "url": "/feeds" }, + "listNotifications": { + "method": "GET", + "params": { + "all": { "type": "boolean" }, + "before": { "type": "string" }, + "page": { "type": "integer" }, + "participating": { "type": "boolean" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" } + }, + "url": "/notifications" + }, + "listNotificationsForRepo": { + "method": "GET", + "params": { + "all": { "type": "boolean" }, + "before": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "participating": { "type": "boolean" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "since": { "type": "string" } + }, + "url": "/repos/:owner/:repo/notifications" + }, + "listPublicEvents": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/events" + }, + "listPublicEventsForOrg": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/events" + }, + "listPublicEventsForRepoNetwork": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/networks/:owner/:repo/events" + }, + "listPublicEventsForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/events/public" + }, + "listReceivedEventsForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/received_events" + }, + "listReceivedPublicEventsForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/received_events/public" + }, + "listRepoEvents": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/events" + }, + "listReposStarredByAuthenticatedUser": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "sort": { "enum": ["created", "updated"], "type": "string" } + }, + "url": "/user/starred" + }, + "listReposStarredByUser": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "sort": { "enum": ["created", "updated"], "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/starred" + }, + "listReposWatchedByUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/subscriptions" + }, + "listStargazersForRepo": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/stargazers" + }, + "listWatchedReposForAuthenticatedUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/subscriptions" + }, + "listWatchersForRepo": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/subscribers" + }, + "markAsRead": { + "method": "PUT", + "params": { "last_read_at": { "type": "string" } }, + "url": "/notifications" + }, + "markNotificationsAsReadForRepo": { + "method": "PUT", + "params": { + "last_read_at": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/notifications" + }, + "markThreadAsRead": { + "method": "PATCH", + "params": { "thread_id": { "required": true, "type": "integer" } }, + "url": "/notifications/threads/:thread_id" + }, + "setRepoSubscription": { + "method": "PUT", + "params": { + "ignored": { "type": "boolean" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "subscribed": { "type": "boolean" } + }, + "url": "/repos/:owner/:repo/subscription" + }, + "setThreadSubscription": { + "method": "PUT", + "params": { + "ignored": { "type": "boolean" }, + "thread_id": { "required": true, "type": "integer" } + }, + "url": "/notifications/threads/:thread_id/subscription" + }, + "starRepo": { + "method": "PUT", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/user/starred/:owner/:repo" + }, + "unstarRepo": { + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/user/starred/:owner/:repo" + } + }, + "apps": { + "addRepoToInstallation": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "PUT", + "params": { + "installation_id": { "required": true, "type": "integer" }, + "repository_id": { "required": true, "type": "integer" } + }, + "url": "/user/installations/:installation_id/repositories/:repository_id" + }, + "checkAccountIsAssociatedWithAny": { + "method": "GET", + "params": { + "account_id": { "required": true, "type": "integer" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/marketplace_listing/accounts/:account_id" + }, + "checkAccountIsAssociatedWithAnyStubbed": { + "method": "GET", + "params": { + "account_id": { "required": true, "type": "integer" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/marketplace_listing/stubbed/accounts/:account_id" + }, + "createContentAttachment": { + "headers": { "accept": "application/vnd.github.corsair-preview+json" }, + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "content_reference_id": { "required": true, "type": "integer" }, + "title": { "required": true, "type": "string" } + }, + "url": "/content_references/:content_reference_id/attachments" + }, + "createFromManifest": { + "headers": { "accept": "application/vnd.github.fury-preview+json" }, + "method": "POST", + "params": { "code": { "required": true, "type": "string" } }, + "url": "/app-manifests/:code/conversions" + }, + "createInstallationToken": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "POST", + "params": { + "installation_id": { "required": true, "type": "integer" }, + "permissions": { "type": "object" }, + "repository_ids": { "type": "integer[]" } + }, + "url": "/app/installations/:installation_id/access_tokens" + }, + "deleteInstallation": { + "headers": { + "accept": "application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json" + }, + "method": "DELETE", + "params": { "installation_id": { "required": true, "type": "integer" } }, + "url": "/app/installations/:installation_id" + }, + "findOrgInstallation": { + "deprecated": "octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)", + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { "org": { "required": true, "type": "string" } }, + "url": "/orgs/:org/installation" + }, + "findRepoInstallation": { + "deprecated": "octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)", + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/installation" + }, + "findUserInstallation": { + "deprecated": "octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)", + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/users/:username/installation" + }, + "getAuthenticated": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": {}, + "url": "/app" + }, + "getBySlug": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { "app_slug": { "required": true, "type": "string" } }, + "url": "/apps/:app_slug" + }, + "getInstallation": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { "installation_id": { "required": true, "type": "integer" } }, + "url": "/app/installations/:installation_id" + }, + "getOrgInstallation": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { "org": { "required": true, "type": "string" } }, + "url": "/orgs/:org/installation" + }, + "getRepoInstallation": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/installation" + }, + "getUserInstallation": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/users/:username/installation" + }, + "listAccountsUserOrOrgOnPlan": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "plan_id": { "required": true, "type": "integer" }, + "sort": { "enum": ["created", "updated"], "type": "string" } + }, + "url": "/marketplace_listing/plans/:plan_id/accounts" + }, + "listAccountsUserOrOrgOnPlanStubbed": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "plan_id": { "required": true, "type": "integer" }, + "sort": { "enum": ["created", "updated"], "type": "string" } + }, + "url": "/marketplace_listing/stubbed/plans/:plan_id/accounts" + }, + "listInstallationReposForAuthenticatedUser": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { + "installation_id": { "required": true, "type": "integer" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/installations/:installation_id/repositories" + }, + "listInstallations": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/app/installations" + }, + "listInstallationsForAuthenticatedUser": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/installations" + }, + "listMarketplacePurchasesForAuthenticatedUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/marketplace_purchases" + }, + "listMarketplacePurchasesForAuthenticatedUserStubbed": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/marketplace_purchases/stubbed" + }, + "listPlans": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/marketplace_listing/plans" + }, + "listPlansStubbed": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/marketplace_listing/stubbed/plans" + }, + "listRepos": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/installation/repositories" + }, + "removeRepoFromInstallation": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "DELETE", + "params": { + "installation_id": { "required": true, "type": "integer" }, + "repository_id": { "required": true, "type": "integer" } + }, + "url": "/user/installations/:installation_id/repositories/:repository_id" + } + }, + "checks": { + "create": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "POST", + "params": { + "actions": { "type": "object[]" }, + "actions[].description": { "required": true, "type": "string" }, + "actions[].identifier": { "required": true, "type": "string" }, + "actions[].label": { "required": true, "type": "string" }, + "completed_at": { "type": "string" }, + "conclusion": { + "enum": [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + "type": "string" + }, + "details_url": { "type": "string" }, + "external_id": { "type": "string" }, + "head_sha": { "required": true, "type": "string" }, + "name": { "required": true, "type": "string" }, + "output": { "type": "object" }, + "output.annotations": { "type": "object[]" }, + "output.annotations[].annotation_level": { + "enum": ["notice", "warning", "failure"], + "required": true, + "type": "string" + }, + "output.annotations[].end_column": { "type": "integer" }, + "output.annotations[].end_line": { + "required": true, + "type": "integer" + }, + "output.annotations[].message": { "required": true, "type": "string" }, + "output.annotations[].path": { "required": true, "type": "string" }, + "output.annotations[].raw_details": { "type": "string" }, + "output.annotations[].start_column": { "type": "integer" }, + "output.annotations[].start_line": { + "required": true, + "type": "integer" + }, + "output.annotations[].title": { "type": "string" }, + "output.images": { "type": "object[]" }, + "output.images[].alt": { "required": true, "type": "string" }, + "output.images[].caption": { "type": "string" }, + "output.images[].image_url": { "required": true, "type": "string" }, + "output.summary": { "required": true, "type": "string" }, + "output.text": { "type": "string" }, + "output.title": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "started_at": { "type": "string" }, + "status": { + "enum": ["queued", "in_progress", "completed"], + "type": "string" + } + }, + "url": "/repos/:owner/:repo/check-runs" + }, + "createSuite": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "POST", + "params": { + "head_sha": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/check-suites" + }, + "get": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "GET", + "params": { + "check_run_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/check-runs/:check_run_id" + }, + "getSuite": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "GET", + "params": { + "check_suite_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/check-suites/:check_suite_id" + }, + "listAnnotations": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "GET", + "params": { + "check_run_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/check-runs/:check_run_id/annotations" + }, + "listForRef": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "GET", + "params": { + "check_name": { "type": "string" }, + "filter": { "enum": ["latest", "all"], "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "status": { + "enum": ["queued", "in_progress", "completed"], + "type": "string" + } + }, + "url": "/repos/:owner/:repo/commits/:ref/check-runs" + }, + "listForSuite": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "GET", + "params": { + "check_name": { "type": "string" }, + "check_suite_id": { "required": true, "type": "integer" }, + "filter": { "enum": ["latest", "all"], "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "status": { + "enum": ["queued", "in_progress", "completed"], + "type": "string" + } + }, + "url": "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs" + }, + "listSuitesForRef": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "GET", + "params": { + "app_id": { "type": "integer" }, + "check_name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:ref/check-suites" + }, + "rerequestSuite": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "POST", + "params": { + "check_suite_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest" + }, + "setSuitesPreferences": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "PATCH", + "params": { + "auto_trigger_checks": { "type": "object[]" }, + "auto_trigger_checks[].app_id": { "required": true, "type": "integer" }, + "auto_trigger_checks[].setting": { + "required": true, + "type": "boolean" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/check-suites/preferences" + }, + "update": { + "headers": { "accept": "application/vnd.github.antiope-preview+json" }, + "method": "PATCH", + "params": { + "actions": { "type": "object[]" }, + "actions[].description": { "required": true, "type": "string" }, + "actions[].identifier": { "required": true, "type": "string" }, + "actions[].label": { "required": true, "type": "string" }, + "check_run_id": { "required": true, "type": "integer" }, + "completed_at": { "type": "string" }, + "conclusion": { + "enum": [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + "type": "string" + }, + "details_url": { "type": "string" }, + "external_id": { "type": "string" }, + "name": { "type": "string" }, + "output": { "type": "object" }, + "output.annotations": { "type": "object[]" }, + "output.annotations[].annotation_level": { + "enum": ["notice", "warning", "failure"], + "required": true, + "type": "string" + }, + "output.annotations[].end_column": { "type": "integer" }, + "output.annotations[].end_line": { + "required": true, + "type": "integer" + }, + "output.annotations[].message": { "required": true, "type": "string" }, + "output.annotations[].path": { "required": true, "type": "string" }, + "output.annotations[].raw_details": { "type": "string" }, + "output.annotations[].start_column": { "type": "integer" }, + "output.annotations[].start_line": { + "required": true, + "type": "integer" + }, + "output.annotations[].title": { "type": "string" }, + "output.images": { "type": "object[]" }, + "output.images[].alt": { "required": true, "type": "string" }, + "output.images[].caption": { "type": "string" }, + "output.images[].image_url": { "required": true, "type": "string" }, + "output.summary": { "required": true, "type": "string" }, + "output.text": { "type": "string" }, + "output.title": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "started_at": { "type": "string" }, + "status": { + "enum": ["queued", "in_progress", "completed"], + "type": "string" + } + }, + "url": "/repos/:owner/:repo/check-runs/:check_run_id" + } + }, + "codesOfConduct": { + "getConductCode": { + "headers": { + "accept": "application/vnd.github.scarlet-witch-preview+json" + }, + "method": "GET", + "params": { "key": { "required": true, "type": "string" } }, + "url": "/codes_of_conduct/:key" + }, + "getForRepo": { + "headers": { + "accept": "application/vnd.github.scarlet-witch-preview+json" + }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/community/code_of_conduct" + }, + "listConductCodes": { + "headers": { + "accept": "application/vnd.github.scarlet-witch-preview+json" + }, + "method": "GET", + "params": {}, + "url": "/codes_of_conduct" + } + }, + "emojis": { "get": { "method": "GET", "params": {}, "url": "/emojis" } }, + "gists": { + "checkIsStarred": { + "method": "GET", + "params": { "gist_id": { "required": true, "type": "string" } }, + "url": "/gists/:gist_id/star" + }, + "create": { + "method": "POST", + "params": { + "description": { "type": "string" }, + "files": { "required": true, "type": "object" }, + "files.content": { "type": "string" }, + "public": { "type": "boolean" } + }, + "url": "/gists" + }, + "createComment": { + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "gist_id": { "required": true, "type": "string" } + }, + "url": "/gists/:gist_id/comments" + }, + "delete": { + "method": "DELETE", + "params": { "gist_id": { "required": true, "type": "string" } }, + "url": "/gists/:gist_id" + }, + "deleteComment": { + "method": "DELETE", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "gist_id": { "required": true, "type": "string" } + }, + "url": "/gists/:gist_id/comments/:comment_id" + }, + "fork": { + "method": "POST", + "params": { "gist_id": { "required": true, "type": "string" } }, + "url": "/gists/:gist_id/forks" + }, + "get": { + "method": "GET", + "params": { "gist_id": { "required": true, "type": "string" } }, + "url": "/gists/:gist_id" + }, + "getComment": { + "method": "GET", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "gist_id": { "required": true, "type": "string" } + }, + "url": "/gists/:gist_id/comments/:comment_id" + }, + "getRevision": { + "method": "GET", + "params": { + "gist_id": { "required": true, "type": "string" }, + "sha": { "required": true, "type": "string" } + }, + "url": "/gists/:gist_id/:sha" + }, + "list": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" } + }, + "url": "/gists" + }, + "listComments": { + "method": "GET", + "params": { + "gist_id": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/gists/:gist_id/comments" + }, + "listCommits": { + "method": "GET", + "params": { + "gist_id": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/gists/:gist_id/commits" + }, + "listForks": { + "method": "GET", + "params": { + "gist_id": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/gists/:gist_id/forks" + }, + "listPublic": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" } + }, + "url": "/gists/public" + }, + "listPublicForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/gists" + }, + "listStarred": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" } + }, + "url": "/gists/starred" + }, + "star": { + "method": "PUT", + "params": { "gist_id": { "required": true, "type": "string" } }, + "url": "/gists/:gist_id/star" + }, + "unstar": { + "method": "DELETE", + "params": { "gist_id": { "required": true, "type": "string" } }, + "url": "/gists/:gist_id/star" + }, + "update": { + "method": "PATCH", + "params": { + "description": { "type": "string" }, + "files": { "type": "object" }, + "files.content": { "type": "string" }, + "files.filename": { "type": "string" }, + "gist_id": { "required": true, "type": "string" } + }, + "url": "/gists/:gist_id" + }, + "updateComment": { + "method": "PATCH", + "params": { + "body": { "required": true, "type": "string" }, + "comment_id": { "required": true, "type": "integer" }, + "gist_id": { "required": true, "type": "string" } + }, + "url": "/gists/:gist_id/comments/:comment_id" + } + }, + "git": { + "createBlob": { + "method": "POST", + "params": { + "content": { "required": true, "type": "string" }, + "encoding": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/blobs" + }, + "createCommit": { + "method": "POST", + "params": { + "author": { "type": "object" }, + "author.date": { "type": "string" }, + "author.email": { "type": "string" }, + "author.name": { "type": "string" }, + "committer": { "type": "object" }, + "committer.date": { "type": "string" }, + "committer.email": { "type": "string" }, + "committer.name": { "type": "string" }, + "message": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "parents": { "required": true, "type": "string[]" }, + "repo": { "required": true, "type": "string" }, + "signature": { "type": "string" }, + "tree": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/commits" + }, + "createRef": { + "method": "POST", + "params": { + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/refs" + }, + "createTag": { + "method": "POST", + "params": { + "message": { "required": true, "type": "string" }, + "object": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "tag": { "required": true, "type": "string" }, + "tagger": { "type": "object" }, + "tagger.date": { "type": "string" }, + "tagger.email": { "type": "string" }, + "tagger.name": { "type": "string" }, + "type": { + "enum": ["commit", "tree", "blob"], + "required": true, + "type": "string" + } + }, + "url": "/repos/:owner/:repo/git/tags" + }, + "createTree": { + "method": "POST", + "params": { + "base_tree": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "tree": { "required": true, "type": "object[]" }, + "tree[].content": { "type": "string" }, + "tree[].mode": { + "enum": ["100644", "100755", "040000", "160000", "120000"], + "type": "string" + }, + "tree[].path": { "type": "string" }, + "tree[].sha": { "allowNull": true, "type": "string" }, + "tree[].type": { "enum": ["blob", "tree", "commit"], "type": "string" } + }, + "url": "/repos/:owner/:repo/git/trees" + }, + "deleteRef": { + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/refs/:ref" + }, + "getBlob": { + "method": "GET", + "params": { + "file_sha": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/blobs/:file_sha" + }, + "getCommit": { + "method": "GET", + "params": { + "commit_sha": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/commits/:commit_sha" + }, + "getRef": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/ref/:ref" + }, + "getTag": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "tag_sha": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/tags/:tag_sha" + }, + "getTree": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "recursive": { "enum": ["1"], "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "tree_sha": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/trees/:tree_sha" + }, + "listMatchingRefs": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/matching-refs/:ref" + }, + "listRefs": { + "method": "GET", + "params": { + "namespace": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/refs/:namespace" + }, + "updateRef": { + "method": "PATCH", + "params": { + "force": { "type": "boolean" }, + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/git/refs/:ref" + } + }, + "gitignore": { + "getTemplate": { + "method": "GET", + "params": { "name": { "required": true, "type": "string" } }, + "url": "/gitignore/templates/:name" + }, + "listTemplates": { + "method": "GET", + "params": {}, + "url": "/gitignore/templates" + } + }, + "interactions": { + "addOrUpdateRestrictionsForOrg": { + "headers": { "accept": "application/vnd.github.sombra-preview+json" }, + "method": "PUT", + "params": { + "limit": { + "enum": ["existing_users", "contributors_only", "collaborators_only"], + "required": true, + "type": "string" + }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/interaction-limits" + }, + "addOrUpdateRestrictionsForRepo": { + "headers": { "accept": "application/vnd.github.sombra-preview+json" }, + "method": "PUT", + "params": { + "limit": { + "enum": ["existing_users", "contributors_only", "collaborators_only"], + "required": true, + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/interaction-limits" + }, + "getRestrictionsForOrg": { + "headers": { "accept": "application/vnd.github.sombra-preview+json" }, + "method": "GET", + "params": { "org": { "required": true, "type": "string" } }, + "url": "/orgs/:org/interaction-limits" + }, + "getRestrictionsForRepo": { + "headers": { "accept": "application/vnd.github.sombra-preview+json" }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/interaction-limits" + }, + "removeRestrictionsForOrg": { + "headers": { "accept": "application/vnd.github.sombra-preview+json" }, + "method": "DELETE", + "params": { "org": { "required": true, "type": "string" } }, + "url": "/orgs/:org/interaction-limits" + }, + "removeRestrictionsForRepo": { + "headers": { "accept": "application/vnd.github.sombra-preview+json" }, + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/interaction-limits" + } + }, + "issues": { + "addAssignees": { + "method": "POST", + "params": { + "assignees": { "type": "string[]" }, + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + "addLabels": { + "method": "POST", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "labels": { "required": true, "type": "string[]" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/labels" + }, + "checkAssignee": { + "method": "GET", + "params": { + "assignee": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/assignees/:assignee" + }, + "create": { + "method": "POST", + "params": { + "assignee": { "type": "string" }, + "assignees": { "type": "string[]" }, + "body": { "type": "string" }, + "labels": { "type": "string[]" }, + "milestone": { "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "title": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues" + }, + "createComment": { + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/comments" + }, + "createLabel": { + "method": "POST", + "params": { + "color": { "required": true, "type": "string" }, + "description": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/labels" + }, + "createMilestone": { + "method": "POST", + "params": { + "description": { "type": "string" }, + "due_on": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "state": { "enum": ["open", "closed"], "type": "string" }, + "title": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/milestones" + }, + "deleteComment": { + "method": "DELETE", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/comments/:comment_id" + }, + "deleteLabel": { + "method": "DELETE", + "params": { + "name": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/labels/:name" + }, + "deleteMilestone": { + "method": "DELETE", + "params": { + "milestone_number": { "required": true, "type": "integer" }, + "number": { + "alias": "milestone_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/milestones/:milestone_number" + }, + "get": { + "method": "GET", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number" + }, + "getComment": { + "method": "GET", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/comments/:comment_id" + }, + "getEvent": { + "method": "GET", + "params": { + "event_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/events/:event_id" + }, + "getLabel": { + "method": "GET", + "params": { + "name": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/labels/:name" + }, + "getMilestone": { + "method": "GET", + "params": { + "milestone_number": { "required": true, "type": "integer" }, + "number": { + "alias": "milestone_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/milestones/:milestone_number" + }, + "list": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "filter": { + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "type": "string" + }, + "labels": { "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" }, + "sort": { + "enum": ["created", "updated", "comments"], + "type": "string" + }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/issues" + }, + "listAssignees": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/assignees" + }, + "listComments": { + "method": "GET", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "since": { "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/comments" + }, + "listCommentsForRepo": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "since": { "type": "string" }, + "sort": { "enum": ["created", "updated"], "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/comments" + }, + "listEvents": { + "method": "GET", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/events" + }, + "listEventsForRepo": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/events" + }, + "listEventsForTimeline": { + "headers": { + "accept": "application/vnd.github.mockingbird-preview+json" + }, + "method": "GET", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/timeline" + }, + "listForAuthenticatedUser": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "filter": { + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "type": "string" + }, + "labels": { "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" }, + "sort": { + "enum": ["created", "updated", "comments"], + "type": "string" + }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/user/issues" + }, + "listForOrg": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "filter": { + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "type": "string" + }, + "labels": { "type": "string" }, + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" }, + "sort": { + "enum": ["created", "updated", "comments"], + "type": "string" + }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/orgs/:org/issues" + }, + "listForRepo": { + "method": "GET", + "params": { + "assignee": { "type": "string" }, + "creator": { "type": "string" }, + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "labels": { "type": "string" }, + "mentioned": { "type": "string" }, + "milestone": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "since": { "type": "string" }, + "sort": { + "enum": ["created", "updated", "comments"], + "type": "string" + }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/repos/:owner/:repo/issues" + }, + "listLabelsForMilestone": { + "method": "GET", + "params": { + "milestone_number": { "required": true, "type": "integer" }, + "number": { + "alias": "milestone_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/milestones/:milestone_number/labels" + }, + "listLabelsForRepo": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/labels" + }, + "listLabelsOnIssue": { + "method": "GET", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/labels" + }, + "listMilestonesForRepo": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "sort": { "enum": ["due_on", "completeness"], "type": "string" }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/repos/:owner/:repo/milestones" + }, + "lock": { + "method": "PUT", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "lock_reason": { + "enum": ["off-topic", "too heated", "resolved", "spam"], + "type": "string" + }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/lock" + }, + "removeAssignees": { + "method": "DELETE", + "params": { + "assignees": { "type": "string[]" }, + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/assignees" + }, + "removeLabel": { + "method": "DELETE", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "name": { "required": true, "type": "string" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/labels/:name" + }, + "removeLabels": { + "method": "DELETE", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/labels" + }, + "replaceLabels": { + "method": "PUT", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "labels": { "type": "string[]" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/labels" + }, + "unlock": { + "method": "DELETE", + "params": { + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/lock" + }, + "update": { + "method": "PATCH", + "params": { + "assignee": { "type": "string" }, + "assignees": { "type": "string[]" }, + "body": { "type": "string" }, + "issue_number": { "required": true, "type": "integer" }, + "labels": { "type": "string[]" }, + "milestone": { "allowNull": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "state": { "enum": ["open", "closed"], "type": "string" }, + "title": { "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number" + }, + "updateComment": { + "method": "PATCH", + "params": { + "body": { "required": true, "type": "string" }, + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/comments/:comment_id" + }, + "updateLabel": { + "method": "PATCH", + "params": { + "color": { "type": "string" }, + "current_name": { "required": true, "type": "string" }, + "description": { "type": "string" }, + "name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/labels/:current_name" + }, + "updateMilestone": { + "method": "PATCH", + "params": { + "description": { "type": "string" }, + "due_on": { "type": "string" }, + "milestone_number": { "required": true, "type": "integer" }, + "number": { + "alias": "milestone_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "state": { "enum": ["open", "closed"], "type": "string" }, + "title": { "type": "string" } + }, + "url": "/repos/:owner/:repo/milestones/:milestone_number" + } + }, + "licenses": { + "get": { + "method": "GET", + "params": { "license": { "required": true, "type": "string" } }, + "url": "/licenses/:license" + }, + "getForRepo": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/license" + }, + "list": { + "deprecated": "octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)", + "method": "GET", + "params": {}, + "url": "/licenses" + }, + "listCommonlyUsed": { "method": "GET", "params": {}, "url": "/licenses" } + }, + "markdown": { + "render": { + "method": "POST", + "params": { + "context": { "type": "string" }, + "mode": { "enum": ["markdown", "gfm"], "type": "string" }, + "text": { "required": true, "type": "string" } + }, + "url": "/markdown" + }, + "renderRaw": { + "headers": { "content-type": "text/plain; charset=utf-8" }, + "method": "POST", + "params": { + "data": { "mapTo": "data", "required": true, "type": "string" } + }, + "url": "/markdown/raw" + } + }, + "meta": { "get": { "method": "GET", "params": {}, "url": "/meta" } }, + "migrations": { + "cancelImport": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/import" + }, + "deleteArchiveForAuthenticatedUser": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "DELETE", + "params": { "migration_id": { "required": true, "type": "integer" } }, + "url": "/user/migrations/:migration_id/archive" + }, + "deleteArchiveForOrg": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "DELETE", + "params": { + "migration_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/migrations/:migration_id/archive" + }, + "getArchiveForAuthenticatedUser": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "GET", + "params": { "migration_id": { "required": true, "type": "integer" } }, + "url": "/user/migrations/:migration_id/archive" + }, + "getArchiveForOrg": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "GET", + "params": { + "migration_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/migrations/:migration_id/archive" + }, + "getCommitAuthors": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "since": { "type": "string" } + }, + "url": "/repos/:owner/:repo/import/authors" + }, + "getImportProgress": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/import" + }, + "getLargeFiles": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/import/large_files" + }, + "getStatusForAuthenticatedUser": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "GET", + "params": { "migration_id": { "required": true, "type": "integer" } }, + "url": "/user/migrations/:migration_id" + }, + "getStatusForOrg": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "GET", + "params": { + "migration_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/migrations/:migration_id" + }, + "listForAuthenticatedUser": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/migrations" + }, + "listForOrg": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/migrations" + }, + "mapCommitAuthor": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "PATCH", + "params": { + "author_id": { "required": true, "type": "integer" }, + "email": { "type": "string" }, + "name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/import/authors/:author_id" + }, + "setLfsPreference": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "PATCH", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "use_lfs": { + "enum": ["opt_in", "opt_out"], + "required": true, + "type": "string" + } + }, + "url": "/repos/:owner/:repo/import/lfs" + }, + "startForAuthenticatedUser": { + "method": "POST", + "params": { + "exclude_attachments": { "type": "boolean" }, + "lock_repositories": { "type": "boolean" }, + "repositories": { "required": true, "type": "string[]" } + }, + "url": "/user/migrations" + }, + "startForOrg": { + "method": "POST", + "params": { + "exclude_attachments": { "type": "boolean" }, + "lock_repositories": { "type": "boolean" }, + "org": { "required": true, "type": "string" }, + "repositories": { "required": true, "type": "string[]" } + }, + "url": "/orgs/:org/migrations" + }, + "startImport": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "PUT", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "tfvc_project": { "type": "string" }, + "vcs": { + "enum": ["subversion", "git", "mercurial", "tfvc"], + "type": "string" + }, + "vcs_password": { "type": "string" }, + "vcs_url": { "required": true, "type": "string" }, + "vcs_username": { "type": "string" } + }, + "url": "/repos/:owner/:repo/import" + }, + "unlockRepoForAuthenticatedUser": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "DELETE", + "params": { + "migration_id": { "required": true, "type": "integer" }, + "repo_name": { "required": true, "type": "string" } + }, + "url": "/user/migrations/:migration_id/repos/:repo_name/lock" + }, + "unlockRepoForOrg": { + "headers": { "accept": "application/vnd.github.wyandotte-preview+json" }, + "method": "DELETE", + "params": { + "migration_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" }, + "repo_name": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock" + }, + "updateImport": { + "headers": { + "accept": "application/vnd.github.barred-rock-preview+json" + }, + "method": "PATCH", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "vcs_password": { "type": "string" }, + "vcs_username": { "type": "string" } + }, + "url": "/repos/:owner/:repo/import" + } + }, + "oauthAuthorizations": { + "checkAuthorization": { + "method": "GET", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/tokens/:access_token" + }, + "createAuthorization": { + "method": "POST", + "params": { + "client_id": { "type": "string" }, + "client_secret": { "type": "string" }, + "fingerprint": { "type": "string" }, + "note": { "required": true, "type": "string" }, + "note_url": { "type": "string" }, + "scopes": { "type": "string[]" } + }, + "url": "/authorizations" + }, + "deleteAuthorization": { + "method": "DELETE", + "params": { "authorization_id": { "required": true, "type": "integer" } }, + "url": "/authorizations/:authorization_id" + }, + "deleteGrant": { + "method": "DELETE", + "params": { "grant_id": { "required": true, "type": "integer" } }, + "url": "/applications/grants/:grant_id" + }, + "getAuthorization": { + "method": "GET", + "params": { "authorization_id": { "required": true, "type": "integer" } }, + "url": "/authorizations/:authorization_id" + }, + "getGrant": { + "method": "GET", + "params": { "grant_id": { "required": true, "type": "integer" } }, + "url": "/applications/grants/:grant_id" + }, + "getOrCreateAuthorizationForApp": { + "method": "PUT", + "params": { + "client_id": { "required": true, "type": "string" }, + "client_secret": { "required": true, "type": "string" }, + "fingerprint": { "type": "string" }, + "note": { "type": "string" }, + "note_url": { "type": "string" }, + "scopes": { "type": "string[]" } + }, + "url": "/authorizations/clients/:client_id" + }, + "getOrCreateAuthorizationForAppAndFingerprint": { + "method": "PUT", + "params": { + "client_id": { "required": true, "type": "string" }, + "client_secret": { "required": true, "type": "string" }, + "fingerprint": { "required": true, "type": "string" }, + "note": { "type": "string" }, + "note_url": { "type": "string" }, + "scopes": { "type": "string[]" } + }, + "url": "/authorizations/clients/:client_id/:fingerprint" + }, + "getOrCreateAuthorizationForAppFingerprint": { + "deprecated": "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)", + "method": "PUT", + "params": { + "client_id": { "required": true, "type": "string" }, + "client_secret": { "required": true, "type": "string" }, + "fingerprint": { "required": true, "type": "string" }, + "note": { "type": "string" }, + "note_url": { "type": "string" }, + "scopes": { "type": "string[]" } + }, + "url": "/authorizations/clients/:client_id/:fingerprint" + }, + "listAuthorizations": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/authorizations" + }, + "listGrants": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/applications/grants" + }, + "resetAuthorization": { + "method": "POST", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/tokens/:access_token" + }, + "revokeAuthorizationForApplication": { + "method": "DELETE", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/tokens/:access_token" + }, + "revokeGrantForApplication": { + "method": "DELETE", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/grants/:access_token" + }, + "updateAuthorization": { + "method": "PATCH", + "params": { + "add_scopes": { "type": "string[]" }, + "authorization_id": { "required": true, "type": "integer" }, + "fingerprint": { "type": "string" }, + "note": { "type": "string" }, + "note_url": { "type": "string" }, + "remove_scopes": { "type": "string[]" }, + "scopes": { "type": "string[]" } + }, + "url": "/authorizations/:authorization_id" + } + }, + "orgs": { + "addOrUpdateMembership": { + "method": "PUT", + "params": { + "org": { "required": true, "type": "string" }, + "role": { "enum": ["admin", "member"], "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/memberships/:username" + }, + "blockUser": { + "method": "PUT", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/blocks/:username" + }, + "checkBlockedUser": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/blocks/:username" + }, + "checkMembership": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/members/:username" + }, + "checkPublicMembership": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/public_members/:username" + }, + "concealMembership": { + "method": "DELETE", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/public_members/:username" + }, + "convertMemberToOutsideCollaborator": { + "method": "PUT", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/outside_collaborators/:username" + }, + "createHook": { + "method": "POST", + "params": { + "active": { "type": "boolean" }, + "config": { "required": true, "type": "object" }, + "config.content_type": { "type": "string" }, + "config.insecure_ssl": { "type": "string" }, + "config.secret": { "type": "string" }, + "config.url": { "required": true, "type": "string" }, + "events": { "type": "string[]" }, + "name": { "required": true, "type": "string" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/hooks" + }, + "createInvitation": { + "method": "POST", + "params": { + "email": { "type": "string" }, + "invitee_id": { "type": "integer" }, + "org": { "required": true, "type": "string" }, + "role": { + "enum": ["admin", "direct_member", "billing_manager"], + "type": "string" + }, + "team_ids": { "type": "integer[]" } + }, + "url": "/orgs/:org/invitations" + }, + "deleteHook": { + "method": "DELETE", + "params": { + "hook_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/hooks/:hook_id" + }, + "get": { + "method": "GET", + "params": { "org": { "required": true, "type": "string" } }, + "url": "/orgs/:org" + }, + "getHook": { + "method": "GET", + "params": { + "hook_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/hooks/:hook_id" + }, + "getMembership": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/memberships/:username" + }, + "getMembershipForAuthenticatedUser": { + "method": "GET", + "params": { "org": { "required": true, "type": "string" } }, + "url": "/user/memberships/orgs/:org" + }, + "list": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" } + }, + "url": "/organizations" + }, + "listBlockedUsers": { + "method": "GET", + "params": { "org": { "required": true, "type": "string" } }, + "url": "/orgs/:org/blocks" + }, + "listForAuthenticatedUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/orgs" + }, + "listForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/orgs" + }, + "listHooks": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/hooks" + }, + "listInstallations": { + "headers": { + "accept": "application/vnd.github.machine-man-preview+json" + }, + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/installations" + }, + "listInvitationTeams": { + "method": "GET", + "params": { + "invitation_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/invitations/:invitation_id/teams" + }, + "listMembers": { + "method": "GET", + "params": { + "filter": { "enum": ["2fa_disabled", "all"], "type": "string" }, + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "role": { "enum": ["all", "admin", "member"], "type": "string" } + }, + "url": "/orgs/:org/members" + }, + "listMemberships": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "state": { "enum": ["active", "pending"], "type": "string" } + }, + "url": "/user/memberships/orgs" + }, + "listOutsideCollaborators": { + "method": "GET", + "params": { + "filter": { "enum": ["2fa_disabled", "all"], "type": "string" }, + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/outside_collaborators" + }, + "listPendingInvitations": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/invitations" + }, + "listPublicMembers": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/public_members" + }, + "pingHook": { + "method": "POST", + "params": { + "hook_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/hooks/:hook_id/pings" + }, + "publicizeMembership": { + "method": "PUT", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/public_members/:username" + }, + "removeMember": { + "method": "DELETE", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/members/:username" + }, + "removeMembership": { + "method": "DELETE", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/memberships/:username" + }, + "removeOutsideCollaborator": { + "method": "DELETE", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/outside_collaborators/:username" + }, + "unblockUser": { + "method": "DELETE", + "params": { + "org": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/blocks/:username" + }, + "update": { + "method": "PATCH", + "params": { + "billing_email": { "type": "string" }, + "company": { "type": "string" }, + "default_repository_permission": { + "enum": ["read", "write", "admin", "none"], + "type": "string" + }, + "description": { "type": "string" }, + "email": { "type": "string" }, + "has_organization_projects": { "type": "boolean" }, + "has_repository_projects": { "type": "boolean" }, + "location": { "type": "string" }, + "members_allowed_repository_creation_type": { + "enum": ["all", "private", "none"], + "type": "string" + }, + "members_can_create_repositories": { "type": "boolean" }, + "name": { "type": "string" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org" + }, + "updateHook": { + "method": "PATCH", + "params": { + "active": { "type": "boolean" }, + "config": { "type": "object" }, + "config.content_type": { "type": "string" }, + "config.insecure_ssl": { "type": "string" }, + "config.secret": { "type": "string" }, + "config.url": { "required": true, "type": "string" }, + "events": { "type": "string[]" }, + "hook_id": { "required": true, "type": "integer" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/hooks/:hook_id" + }, + "updateMembership": { + "method": "PATCH", + "params": { + "org": { "required": true, "type": "string" }, + "state": { "enum": ["active"], "required": true, "type": "string" } + }, + "url": "/user/memberships/orgs/:org" + } + }, + "projects": { + "addCollaborator": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "PUT", + "params": { + "permission": { "enum": ["read", "write", "admin"], "type": "string" }, + "project_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/projects/:project_id/collaborators/:username" + }, + "createCard": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "POST", + "params": { + "column_id": { "required": true, "type": "integer" }, + "content_id": { "type": "integer" }, + "content_type": { "type": "string" }, + "note": { "type": "string" } + }, + "url": "/projects/columns/:column_id/cards" + }, + "createColumn": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "POST", + "params": { + "name": { "required": true, "type": "string" }, + "project_id": { "required": true, "type": "integer" } + }, + "url": "/projects/:project_id/columns" + }, + "createForAuthenticatedUser": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "POST", + "params": { + "body": { "type": "string" }, + "name": { "required": true, "type": "string" } + }, + "url": "/user/projects" + }, + "createForOrg": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "POST", + "params": { + "body": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "org": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/projects" + }, + "createForRepo": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "POST", + "params": { + "body": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/projects" + }, + "delete": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "DELETE", + "params": { "project_id": { "required": true, "type": "integer" } }, + "url": "/projects/:project_id" + }, + "deleteCard": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "DELETE", + "params": { "card_id": { "required": true, "type": "integer" } }, + "url": "/projects/columns/cards/:card_id" + }, + "deleteColumn": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "DELETE", + "params": { "column_id": { "required": true, "type": "integer" } }, + "url": "/projects/columns/:column_id" + }, + "get": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "project_id": { "required": true, "type": "integer" } + }, + "url": "/projects/:project_id" + }, + "getCard": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { "card_id": { "required": true, "type": "integer" } }, + "url": "/projects/columns/cards/:card_id" + }, + "getColumn": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { "column_id": { "required": true, "type": "integer" } }, + "url": "/projects/columns/:column_id" + }, + "listCards": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "archived_state": { + "enum": ["all", "archived", "not_archived"], + "type": "string" + }, + "column_id": { "required": true, "type": "integer" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/projects/columns/:column_id/cards" + }, + "listCollaborators": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "affiliation": { + "enum": ["outside", "direct", "all"], + "type": "string" + }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "project_id": { "required": true, "type": "integer" } + }, + "url": "/projects/:project_id/collaborators" + }, + "listColumns": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "project_id": { "required": true, "type": "integer" } + }, + "url": "/projects/:project_id/columns" + }, + "listForOrg": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/orgs/:org/projects" + }, + "listForRepo": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/repos/:owner/:repo/projects" + }, + "listForUser": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "state": { "enum": ["open", "closed", "all"], "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/projects" + }, + "moveCard": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "POST", + "params": { + "card_id": { "required": true, "type": "integer" }, + "column_id": { "type": "integer" }, + "position": { + "required": true, + "type": "string", + "validation": "^(top|bottom|after:\\d+)$" + } + }, + "url": "/projects/columns/cards/:card_id/moves" + }, + "moveColumn": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "POST", + "params": { + "column_id": { "required": true, "type": "integer" }, + "position": { + "required": true, + "type": "string", + "validation": "^(first|last|after:\\d+)$" + } + }, + "url": "/projects/columns/:column_id/moves" + }, + "removeCollaborator": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "DELETE", + "params": { + "project_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/projects/:project_id/collaborators/:username" + }, + "reviewUserPermissionLevel": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "project_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/projects/:project_id/collaborators/:username/permission" + }, + "update": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "PATCH", + "params": { + "body": { "type": "string" }, + "name": { "type": "string" }, + "organization_permission": { "type": "string" }, + "private": { "type": "boolean" }, + "project_id": { "required": true, "type": "integer" }, + "state": { "enum": ["open", "closed"], "type": "string" } + }, + "url": "/projects/:project_id" + }, + "updateCard": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "PATCH", + "params": { + "archived": { "type": "boolean" }, + "card_id": { "required": true, "type": "integer" }, + "note": { "type": "string" } + }, + "url": "/projects/columns/cards/:card_id" + }, + "updateColumn": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "PATCH", + "params": { + "column_id": { "required": true, "type": "integer" }, + "name": { "required": true, "type": "string" } + }, + "url": "/projects/columns/:column_id" + } + }, + "pulls": { + "checkIfMerged": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + "create": { + "method": "POST", + "params": { + "base": { "required": true, "type": "string" }, + "body": { "type": "string" }, + "draft": { "type": "boolean" }, + "head": { "required": true, "type": "string" }, + "maintainer_can_modify": { "type": "boolean" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "title": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls" + }, + "createComment": { + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "commit_id": { "required": true, "type": "string" }, + "in_reply_to": { + "deprecated": true, + "description": "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + "type": "integer" + }, + "line": { "type": "integer" }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "path": { "required": true, "type": "string" }, + "position": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "side": { "enum": ["LEFT", "RIGHT"], "type": "string" }, + "start_line": { "type": "integer" }, + "start_side": { "enum": ["LEFT", "RIGHT", "side"], "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + "createCommentReply": { + "deprecated": "octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)", + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "commit_id": { "required": true, "type": "string" }, + "in_reply_to": { + "deprecated": true, + "description": "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + "type": "integer" + }, + "line": { "type": "integer" }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "path": { "required": true, "type": "string" }, + "position": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "side": { "enum": ["LEFT", "RIGHT"], "type": "string" }, + "start_line": { "type": "integer" }, + "start_side": { "enum": ["LEFT", "RIGHT", "side"], "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + "createFromIssue": { + "deprecated": "octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request", + "method": "POST", + "params": { + "base": { "required": true, "type": "string" }, + "draft": { "type": "boolean" }, + "head": { "required": true, "type": "string" }, + "issue": { "required": true, "type": "integer" }, + "maintainer_can_modify": { "type": "boolean" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls" + }, + "createReview": { + "method": "POST", + "params": { + "body": { "type": "string" }, + "comments": { "type": "object[]" }, + "comments[].body": { "required": true, "type": "string" }, + "comments[].path": { "required": true, "type": "string" }, + "comments[].position": { "required": true, "type": "integer" }, + "commit_id": { "type": "string" }, + "event": { + "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + "type": "string" + }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + "createReviewCommentReply": { + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies" + }, + "createReviewRequest": { + "method": "POST", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "reviewers": { "type": "string[]" }, + "team_reviewers": { "type": "string[]" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + "deleteComment": { + "method": "DELETE", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + "deletePendingReview": { + "method": "DELETE", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "review_id": { "required": true, "type": "integer" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + "deleteReviewRequest": { + "method": "DELETE", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "reviewers": { "type": "string[]" }, + "team_reviewers": { "type": "string[]" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + "dismissReview": { + "method": "PUT", + "params": { + "message": { "required": true, "type": "string" }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "review_id": { "required": true, "type": "integer" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals" + }, + "get": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number" + }, + "getComment": { + "method": "GET", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + "getCommentsForReview": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "review_id": { "required": true, "type": "integer" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments" + }, + "getReview": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "review_id": { "required": true, "type": "integer" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + }, + "list": { + "method": "GET", + "params": { + "base": { "type": "string" }, + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "head": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "sort": { + "enum": ["created", "updated", "popularity", "long-running"], + "type": "string" + }, + "state": { "enum": ["open", "closed", "all"], "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls" + }, + "listComments": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "since": { "type": "string" }, + "sort": { "enum": ["created", "updated"], "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/comments" + }, + "listCommentsForRepo": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "since": { "type": "string" }, + "sort": { "enum": ["created", "updated"], "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/comments" + }, + "listCommits": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/commits" + }, + "listFiles": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/files" + }, + "listReviewRequests": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" + }, + "listReviews": { + "method": "GET", + "params": { + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews" + }, + "merge": { + "method": "PUT", + "params": { + "commit_message": { "type": "string" }, + "commit_title": { "type": "string" }, + "merge_method": { + "enum": ["merge", "squash", "rebase"], + "type": "string" + }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "sha": { "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/merge" + }, + "submitReview": { + "method": "POST", + "params": { + "body": { "type": "string" }, + "event": { + "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + "required": true, + "type": "string" + }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "review_id": { "required": true, "type": "integer" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events" + }, + "update": { + "method": "PATCH", + "params": { + "base": { "type": "string" }, + "body": { "type": "string" }, + "maintainer_can_modify": { "type": "boolean" }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "state": { "enum": ["open", "closed"], "type": "string" }, + "title": { "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number" + }, + "updateBranch": { + "headers": { "accept": "application/vnd.github.lydian-preview+json" }, + "method": "PUT", + "params": { + "expected_head_sha": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/update-branch" + }, + "updateComment": { + "method": "PATCH", + "params": { + "body": { "required": true, "type": "string" }, + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/comments/:comment_id" + }, + "updateReview": { + "method": "PUT", + "params": { + "body": { "required": true, "type": "string" }, + "number": { + "alias": "pull_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "pull_number": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "review_id": { "required": true, "type": "integer" } + }, + "url": "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" + } + }, + "rateLimit": { + "get": { "method": "GET", "params": {}, "url": "/rate_limit" } + }, + "reactions": { + "createForCommitComment": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "POST", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "required": true, + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + "createForIssue": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "POST", + "params": { + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "required": true, + "type": "string" + }, + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + "createForIssueComment": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "POST", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "required": true, + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + "createForPullRequestReviewComment": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "POST", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "required": true, + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + "createForTeamDiscussion": { + "headers": { + "accept": "application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json" + }, + "method": "POST", + "params": { + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "required": true, + "type": "string" + }, + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/reactions" + }, + "createForTeamDiscussionComment": { + "headers": { + "accept": "application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json" + }, + "method": "POST", + "params": { + "comment_number": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "required": true, + "type": "string" + }, + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + }, + "delete": { + "headers": { + "accept": "application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json" + }, + "method": "DELETE", + "params": { "reaction_id": { "required": true, "type": "integer" } }, + "url": "/reactions/:reaction_id" + }, + "listForCommitComment": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "GET", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/comments/:comment_id/reactions" + }, + "listForIssue": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "GET", + "params": { + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "type": "string" + }, + "issue_number": { "required": true, "type": "integer" }, + "number": { + "alias": "issue_number", + "deprecated": true, + "type": "integer" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/:issue_number/reactions" + }, + "listForIssueComment": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "GET", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/issues/comments/:comment_id/reactions" + }, + "listForPullRequestReviewComment": { + "headers": { + "accept": "application/vnd.github.squirrel-girl-preview+json" + }, + "method": "GET", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" + }, + "listForTeamDiscussion": { + "headers": { + "accept": "application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json" + }, + "method": "GET", + "params": { + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "type": "string" + }, + "discussion_number": { "required": true, "type": "integer" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/reactions" + }, + "listForTeamDiscussionComment": { + "headers": { + "accept": "application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json" + }, + "method": "GET", + "params": { + "comment_number": { "required": true, "type": "integer" }, + "content": { + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "type": "string" + }, + "discussion_number": { "required": true, "type": "integer" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" + } + }, + "repos": { + "acceptInvitation": { + "method": "PATCH", + "params": { "invitation_id": { "required": true, "type": "integer" } }, + "url": "/user/repository_invitations/:invitation_id" + }, + "addCollaborator": { + "method": "PUT", + "params": { + "owner": { "required": true, "type": "string" }, + "permission": { "enum": ["pull", "push", "admin"], "type": "string" }, + "repo": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/collaborators/:username" + }, + "addDeployKey": { + "method": "POST", + "params": { + "key": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "read_only": { "type": "boolean" }, + "repo": { "required": true, "type": "string" }, + "title": { "type": "string" } + }, + "url": "/repos/:owner/:repo/keys" + }, + "addProtectedBranchAdminEnforcement": { + "method": "POST", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + "addProtectedBranchAppRestrictions": { + "method": "POST", + "params": { + "apps": { "mapTo": "data", "required": true, "type": "string[]" }, + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + "addProtectedBranchRequiredSignatures": { + "headers": { "accept": "application/vnd.github.zzzax-preview+json" }, + "method": "POST", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + "addProtectedBranchRequiredStatusChecksContexts": { + "method": "POST", + "params": { + "branch": { "required": true, "type": "string" }, + "contexts": { "mapTo": "data", "required": true, "type": "string[]" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + "addProtectedBranchTeamRestrictions": { + "method": "POST", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "teams": { "mapTo": "data", "required": true, "type": "string[]" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + "addProtectedBranchUserRestrictions": { + "method": "POST", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "users": { "mapTo": "data", "required": true, "type": "string[]" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + "checkCollaborator": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/collaborators/:username" + }, + "checkVulnerabilityAlerts": { + "headers": { "accept": "application/vnd.github.dorian-preview+json" }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/vulnerability-alerts" + }, + "compareCommits": { + "method": "GET", + "params": { + "base": { "required": true, "type": "string" }, + "head": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/compare/:base...:head" + }, + "createCommitComment": { + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "commit_sha": { "required": true, "type": "string" }, + "line": { "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "path": { "type": "string" }, + "position": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "sha": { "alias": "commit_sha", "deprecated": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + "createDeployment": { + "method": "POST", + "params": { + "auto_merge": { "type": "boolean" }, + "description": { "type": "string" }, + "environment": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "payload": { "type": "string" }, + "production_environment": { "type": "boolean" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "required_contexts": { "type": "string[]" }, + "task": { "type": "string" }, + "transient_environment": { "type": "boolean" } + }, + "url": "/repos/:owner/:repo/deployments" + }, + "createDeploymentStatus": { + "method": "POST", + "params": { + "auto_inactive": { "type": "boolean" }, + "deployment_id": { "required": true, "type": "integer" }, + "description": { "type": "string" }, + "environment": { + "enum": ["production", "staging", "qa"], + "type": "string" + }, + "environment_url": { "type": "string" }, + "log_url": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "state": { + "enum": [ + "error", + "failure", + "inactive", + "in_progress", + "queued", + "pending", + "success" + ], + "required": true, + "type": "string" + }, + "target_url": { "type": "string" } + }, + "url": "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + "createDispatchEvent": { + "headers": { "accept": "application/vnd.github.everest-preview+json" }, + "method": "POST", + "params": { + "client_payload": { "type": "object" }, + "event_type": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/dispatches" + }, + "createFile": { + "deprecated": "octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + "method": "PUT", + "params": { + "author": { "type": "object" }, + "author.email": { "required": true, "type": "string" }, + "author.name": { "required": true, "type": "string" }, + "branch": { "type": "string" }, + "committer": { "type": "object" }, + "committer.email": { "required": true, "type": "string" }, + "committer.name": { "required": true, "type": "string" }, + "content": { "required": true, "type": "string" }, + "message": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "path": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "type": "string" } + }, + "url": "/repos/:owner/:repo/contents/:path" + }, + "createForAuthenticatedUser": { + "method": "POST", + "params": { + "allow_merge_commit": { "type": "boolean" }, + "allow_rebase_merge": { "type": "boolean" }, + "allow_squash_merge": { "type": "boolean" }, + "auto_init": { "type": "boolean" }, + "description": { "type": "string" }, + "gitignore_template": { "type": "string" }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "homepage": { "type": "string" }, + "is_template": { "type": "boolean" }, + "license_template": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "private": { "type": "boolean" }, + "team_id": { "type": "integer" } + }, + "url": "/user/repos" + }, + "createFork": { + "method": "POST", + "params": { + "organization": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/forks" + }, + "createHook": { + "method": "POST", + "params": { + "active": { "type": "boolean" }, + "config": { "required": true, "type": "object" }, + "config.content_type": { "type": "string" }, + "config.insecure_ssl": { "type": "string" }, + "config.secret": { "type": "string" }, + "config.url": { "required": true, "type": "string" }, + "events": { "type": "string[]" }, + "name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/hooks" + }, + "createInOrg": { + "method": "POST", + "params": { + "allow_merge_commit": { "type": "boolean" }, + "allow_rebase_merge": { "type": "boolean" }, + "allow_squash_merge": { "type": "boolean" }, + "auto_init": { "type": "boolean" }, + "description": { "type": "string" }, + "gitignore_template": { "type": "string" }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "homepage": { "type": "string" }, + "is_template": { "type": "boolean" }, + "license_template": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "org": { "required": true, "type": "string" }, + "private": { "type": "boolean" }, + "team_id": { "type": "integer" } + }, + "url": "/orgs/:org/repos" + }, + "createOrUpdateFile": { + "method": "PUT", + "params": { + "author": { "type": "object" }, + "author.email": { "required": true, "type": "string" }, + "author.name": { "required": true, "type": "string" }, + "branch": { "type": "string" }, + "committer": { "type": "object" }, + "committer.email": { "required": true, "type": "string" }, + "committer.name": { "required": true, "type": "string" }, + "content": { "required": true, "type": "string" }, + "message": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "path": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "type": "string" } + }, + "url": "/repos/:owner/:repo/contents/:path" + }, + "createRelease": { + "method": "POST", + "params": { + "body": { "type": "string" }, + "draft": { "type": "boolean" }, + "name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "prerelease": { "type": "boolean" }, + "repo": { "required": true, "type": "string" }, + "tag_name": { "required": true, "type": "string" }, + "target_commitish": { "type": "string" } + }, + "url": "/repos/:owner/:repo/releases" + }, + "createStatus": { + "method": "POST", + "params": { + "context": { "type": "string" }, + "description": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "required": true, "type": "string" }, + "state": { + "enum": ["error", "failure", "pending", "success"], + "required": true, + "type": "string" + }, + "target_url": { "type": "string" } + }, + "url": "/repos/:owner/:repo/statuses/:sha" + }, + "createUsingTemplate": { + "headers": { "accept": "application/vnd.github.baptiste-preview+json" }, + "method": "POST", + "params": { + "description": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "owner": { "type": "string" }, + "private": { "type": "boolean" }, + "template_owner": { "required": true, "type": "string" }, + "template_repo": { "required": true, "type": "string" } + }, + "url": "/repos/:template_owner/:template_repo/generate" + }, + "declineInvitation": { + "method": "DELETE", + "params": { "invitation_id": { "required": true, "type": "integer" } }, + "url": "/user/repository_invitations/:invitation_id" + }, + "delete": { + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo" + }, + "deleteCommitComment": { + "method": "DELETE", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/comments/:comment_id" + }, + "deleteDownload": { + "method": "DELETE", + "params": { + "download_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/downloads/:download_id" + }, + "deleteFile": { + "method": "DELETE", + "params": { + "author": { "type": "object" }, + "author.email": { "type": "string" }, + "author.name": { "type": "string" }, + "branch": { "type": "string" }, + "committer": { "type": "object" }, + "committer.email": { "type": "string" }, + "committer.name": { "type": "string" }, + "message": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "path": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/contents/:path" + }, + "deleteHook": { + "method": "DELETE", + "params": { + "hook_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/hooks/:hook_id" + }, + "deleteInvitation": { + "method": "DELETE", + "params": { + "invitation_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/invitations/:invitation_id" + }, + "deleteRelease": { + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "release_id": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/:release_id" + }, + "deleteReleaseAsset": { + "method": "DELETE", + "params": { + "asset_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/assets/:asset_id" + }, + "disableAutomatedSecurityFixes": { + "headers": { "accept": "application/vnd.github.london-preview+json" }, + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/automated-security-fixes" + }, + "disablePagesSite": { + "headers": { "accept": "application/vnd.github.switcheroo-preview+json" }, + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pages" + }, + "disableVulnerabilityAlerts": { + "headers": { "accept": "application/vnd.github.dorian-preview+json" }, + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/vulnerability-alerts" + }, + "enableAutomatedSecurityFixes": { + "headers": { "accept": "application/vnd.github.london-preview+json" }, + "method": "PUT", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/automated-security-fixes" + }, + "enablePagesSite": { + "headers": { "accept": "application/vnd.github.switcheroo-preview+json" }, + "method": "POST", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "source": { "type": "object" }, + "source.branch": { "enum": ["master", "gh-pages"], "type": "string" }, + "source.path": { "type": "string" } + }, + "url": "/repos/:owner/:repo/pages" + }, + "enableVulnerabilityAlerts": { + "headers": { "accept": "application/vnd.github.dorian-preview+json" }, + "method": "PUT", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/vulnerability-alerts" + }, + "get": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo" + }, + "getAppsWithAccessToProtectedBranch": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + "getArchiveLink": { + "method": "GET", + "params": { + "archive_format": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/:archive_format/:ref" + }, + "getBranch": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch" + }, + "getBranchProtection": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection" + }, + "getClones": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "per": { "enum": ["day", "week"], "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/traffic/clones" + }, + "getCodeFrequencyStats": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/stats/code_frequency" + }, + "getCollaboratorPermissionLevel": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/collaborators/:username/permission" + }, + "getCombinedStatusForRef": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:ref/status" + }, + "getCommit": { + "method": "GET", + "params": { + "commit_sha": { "alias": "ref", "deprecated": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "alias": "ref", "deprecated": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:ref" + }, + "getCommitActivityStats": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/stats/commit_activity" + }, + "getCommitComment": { + "method": "GET", + "params": { + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/comments/:comment_id" + }, + "getCommitRefSha": { + "deprecated": "octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit", + "headers": { "accept": "application/vnd.github.v3.sha" }, + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:ref" + }, + "getContents": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "path": { "required": true, "type": "string" }, + "ref": { "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/contents/:path" + }, + "getContributorsStats": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/stats/contributors" + }, + "getDeployKey": { + "method": "GET", + "params": { + "key_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/keys/:key_id" + }, + "getDeployment": { + "method": "GET", + "params": { + "deployment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/deployments/:deployment_id" + }, + "getDeploymentStatus": { + "method": "GET", + "params": { + "deployment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "status_id": { "required": true, "type": "integer" } + }, + "url": "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id" + }, + "getDownload": { + "method": "GET", + "params": { + "download_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/downloads/:download_id" + }, + "getHook": { + "method": "GET", + "params": { + "hook_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/hooks/:hook_id" + }, + "getLatestPagesBuild": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pages/builds/latest" + }, + "getLatestRelease": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/latest" + }, + "getPages": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pages" + }, + "getPagesBuild": { + "method": "GET", + "params": { + "build_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pages/builds/:build_id" + }, + "getParticipationStats": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/stats/participation" + }, + "getProtectedBranchAdminEnforcement": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + "getProtectedBranchPullRequestReviewEnforcement": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + "getProtectedBranchRequiredSignatures": { + "headers": { "accept": "application/vnd.github.zzzax-preview+json" }, + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + "getProtectedBranchRequiredStatusChecks": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + "getProtectedBranchRestrictions": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + "getPunchCardStats": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/stats/punch_card" + }, + "getReadme": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "ref": { "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/readme" + }, + "getRelease": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "release_id": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/:release_id" + }, + "getReleaseAsset": { + "method": "GET", + "params": { + "asset_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/assets/:asset_id" + }, + "getReleaseByTag": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "tag": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/tags/:tag" + }, + "getTeamsWithAccessToProtectedBranch": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + "getTopPaths": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/traffic/popular/paths" + }, + "getTopReferrers": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/traffic/popular/referrers" + }, + "getUsersWithAccessToProtectedBranch": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + "getViews": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "per": { "enum": ["day", "week"], "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/traffic/views" + }, + "list": { + "method": "GET", + "params": { + "affiliation": { "type": "string" }, + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "sort": { + "enum": ["created", "updated", "pushed", "full_name"], + "type": "string" + }, + "type": { + "enum": ["all", "owner", "public", "private", "member"], + "type": "string" + }, + "visibility": { "enum": ["all", "public", "private"], "type": "string" } + }, + "url": "/user/repos" + }, + "listAppsWithAccessToProtectedBranch": { + "deprecated": "octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)", + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + "listAssetsForRelease": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "release_id": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/:release_id/assets" + }, + "listBranches": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "protected": { "type": "boolean" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches" + }, + "listBranchesForHeadCommit": { + "headers": { "accept": "application/vnd.github.groot-preview+json" }, + "method": "GET", + "params": { + "commit_sha": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:commit_sha/branches-where-head" + }, + "listCollaborators": { + "method": "GET", + "params": { + "affiliation": { + "enum": ["outside", "direct", "all"], + "type": "string" + }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/collaborators" + }, + "listCommentsForCommit": { + "method": "GET", + "params": { + "commit_sha": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "ref": { "alias": "commit_sha", "deprecated": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:commit_sha/comments" + }, + "listCommitComments": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/comments" + }, + "listCommits": { + "method": "GET", + "params": { + "author": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "path": { "type": "string" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "sha": { "type": "string" }, + "since": { "type": "string" }, + "until": { "type": "string" } + }, + "url": "/repos/:owner/:repo/commits" + }, + "listContributors": { + "method": "GET", + "params": { + "anon": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/contributors" + }, + "listDeployKeys": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/keys" + }, + "listDeploymentStatuses": { + "method": "GET", + "params": { + "deployment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/deployments/:deployment_id/statuses" + }, + "listDeployments": { + "method": "GET", + "params": { + "environment": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "ref": { "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "type": "string" }, + "task": { "type": "string" } + }, + "url": "/repos/:owner/:repo/deployments" + }, + "listDownloads": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/downloads" + }, + "listForOrg": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "sort": { + "enum": ["created", "updated", "pushed", "full_name"], + "type": "string" + }, + "type": { + "enum": ["all", "public", "private", "forks", "sources", "member"], + "type": "string" + } + }, + "url": "/orgs/:org/repos" + }, + "listForUser": { + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "sort": { + "enum": ["created", "updated", "pushed", "full_name"], + "type": "string" + }, + "type": { "enum": ["all", "owner", "member"], "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/repos" + }, + "listForks": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "sort": { "enum": ["newest", "oldest", "stargazers"], "type": "string" } + }, + "url": "/repos/:owner/:repo/forks" + }, + "listHooks": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/hooks" + }, + "listInvitations": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/invitations" + }, + "listInvitationsForAuthenticatedUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/repository_invitations" + }, + "listLanguages": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/languages" + }, + "listPagesBuilds": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pages/builds" + }, + "listProtectedBranchRequiredStatusChecksContexts": { + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + "listProtectedBranchTeamRestrictions": { + "deprecated": "octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)", + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + "listProtectedBranchUserRestrictions": { + "deprecated": "octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)", + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + "listPublic": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" } + }, + "url": "/repositories" + }, + "listPullRequestsAssociatedWithCommit": { + "headers": { "accept": "application/vnd.github.groot-preview+json" }, + "method": "GET", + "params": { + "commit_sha": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:commit_sha/pulls" + }, + "listReleases": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases" + }, + "listStatusesForRef": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "ref": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/commits/:ref/statuses" + }, + "listTags": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/tags" + }, + "listTeams": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/teams" + }, + "listTeamsWithAccessToProtectedBranch": { + "deprecated": "octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)", + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + "listTopics": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/topics" + }, + "listUsersWithAccessToProtectedBranch": { + "deprecated": "octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)", + "method": "GET", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + "merge": { + "method": "POST", + "params": { + "base": { "required": true, "type": "string" }, + "commit_message": { "type": "string" }, + "head": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/merges" + }, + "pingHook": { + "method": "POST", + "params": { + "hook_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/hooks/:hook_id/pings" + }, + "removeBranchProtection": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection" + }, + "removeCollaborator": { + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/collaborators/:username" + }, + "removeDeployKey": { + "method": "DELETE", + "params": { + "key_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/keys/:key_id" + }, + "removeProtectedBranchAdminEnforcement": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" + }, + "removeProtectedBranchAppRestrictions": { + "method": "DELETE", + "params": { + "apps": { "mapTo": "data", "required": true, "type": "string[]" }, + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + "removeProtectedBranchPullRequestReviewEnforcement": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + "removeProtectedBranchRequiredSignatures": { + "headers": { "accept": "application/vnd.github.zzzax-preview+json" }, + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_signatures" + }, + "removeProtectedBranchRequiredStatusChecks": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + "removeProtectedBranchRequiredStatusChecksContexts": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "contexts": { "mapTo": "data", "required": true, "type": "string[]" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + "removeProtectedBranchRestrictions": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions" + }, + "removeProtectedBranchTeamRestrictions": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "teams": { "mapTo": "data", "required": true, "type": "string[]" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + "removeProtectedBranchUserRestrictions": { + "method": "DELETE", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "users": { "mapTo": "data", "required": true, "type": "string[]" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + "replaceProtectedBranchAppRestrictions": { + "method": "PUT", + "params": { + "apps": { "mapTo": "data", "required": true, "type": "string[]" }, + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" + }, + "replaceProtectedBranchRequiredStatusChecksContexts": { + "method": "PUT", + "params": { + "branch": { "required": true, "type": "string" }, + "contexts": { "mapTo": "data", "required": true, "type": "string[]" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" + }, + "replaceProtectedBranchTeamRestrictions": { + "method": "PUT", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "teams": { "mapTo": "data", "required": true, "type": "string[]" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" + }, + "replaceProtectedBranchUserRestrictions": { + "method": "PUT", + "params": { + "branch": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "users": { "mapTo": "data", "required": true, "type": "string[]" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" + }, + "replaceTopics": { + "method": "PUT", + "params": { + "names": { "required": true, "type": "string[]" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/topics" + }, + "requestPageBuild": { + "method": "POST", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/pages/builds" + }, + "retrieveCommunityProfileMetrics": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/community/profile" + }, + "testPushHook": { + "method": "POST", + "params": { + "hook_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/hooks/:hook_id/tests" + }, + "transfer": { + "headers": { "accept": "application/vnd.github.nightshade-preview+json" }, + "method": "POST", + "params": { + "new_owner": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "team_ids": { "type": "integer[]" } + }, + "url": "/repos/:owner/:repo/transfer" + }, + "update": { + "method": "PATCH", + "params": { + "allow_merge_commit": { "type": "boolean" }, + "allow_rebase_merge": { "type": "boolean" }, + "allow_squash_merge": { "type": "boolean" }, + "archived": { "type": "boolean" }, + "default_branch": { "type": "string" }, + "description": { "type": "string" }, + "has_issues": { "type": "boolean" }, + "has_projects": { "type": "boolean" }, + "has_wiki": { "type": "boolean" }, + "homepage": { "type": "string" }, + "is_template": { "type": "boolean" }, + "name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "private": { "type": "boolean" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo" + }, + "updateBranchProtection": { + "method": "PUT", + "params": { + "branch": { "required": true, "type": "string" }, + "enforce_admins": { + "allowNull": true, + "required": true, + "type": "boolean" + }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "required_pull_request_reviews": { + "allowNull": true, + "required": true, + "type": "object" + }, + "required_pull_request_reviews.dismiss_stale_reviews": { + "type": "boolean" + }, + "required_pull_request_reviews.dismissal_restrictions": { + "type": "object" + }, + "required_pull_request_reviews.dismissal_restrictions.teams": { + "type": "string[]" + }, + "required_pull_request_reviews.dismissal_restrictions.users": { + "type": "string[]" + }, + "required_pull_request_reviews.require_code_owner_reviews": { + "type": "boolean" + }, + "required_pull_request_reviews.required_approving_review_count": { + "type": "integer" + }, + "required_status_checks": { + "allowNull": true, + "required": true, + "type": "object" + }, + "required_status_checks.contexts": { + "required": true, + "type": "string[]" + }, + "required_status_checks.strict": { + "required": true, + "type": "boolean" + }, + "restrictions": { + "allowNull": true, + "required": true, + "type": "object" + }, + "restrictions.apps": { "type": "string[]" }, + "restrictions.teams": { "required": true, "type": "string[]" }, + "restrictions.users": { "required": true, "type": "string[]" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection" + }, + "updateCommitComment": { + "method": "PATCH", + "params": { + "body": { "required": true, "type": "string" }, + "comment_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/comments/:comment_id" + }, + "updateFile": { + "deprecated": "octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", + "method": "PUT", + "params": { + "author": { "type": "object" }, + "author.email": { "required": true, "type": "string" }, + "author.name": { "required": true, "type": "string" }, + "branch": { "type": "string" }, + "committer": { "type": "object" }, + "committer.email": { "required": true, "type": "string" }, + "committer.name": { "required": true, "type": "string" }, + "content": { "required": true, "type": "string" }, + "message": { "required": true, "type": "string" }, + "owner": { "required": true, "type": "string" }, + "path": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "sha": { "type": "string" } + }, + "url": "/repos/:owner/:repo/contents/:path" + }, + "updateHook": { + "method": "PATCH", + "params": { + "active": { "type": "boolean" }, + "add_events": { "type": "string[]" }, + "config": { "type": "object" }, + "config.content_type": { "type": "string" }, + "config.insecure_ssl": { "type": "string" }, + "config.secret": { "type": "string" }, + "config.url": { "required": true, "type": "string" }, + "events": { "type": "string[]" }, + "hook_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "remove_events": { "type": "string[]" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/hooks/:hook_id" + }, + "updateInformationAboutPagesSite": { + "method": "PUT", + "params": { + "cname": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "source": { + "enum": ["\"gh-pages\"", "\"master\"", "\"master /docs\""], + "type": "string" + } + }, + "url": "/repos/:owner/:repo/pages" + }, + "updateInvitation": { + "method": "PATCH", + "params": { + "invitation_id": { "required": true, "type": "integer" }, + "owner": { "required": true, "type": "string" }, + "permissions": { "enum": ["read", "write", "admin"], "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/invitations/:invitation_id" + }, + "updateProtectedBranchPullRequestReviewEnforcement": { + "method": "PATCH", + "params": { + "branch": { "required": true, "type": "string" }, + "dismiss_stale_reviews": { "type": "boolean" }, + "dismissal_restrictions": { "type": "object" }, + "dismissal_restrictions.teams": { "type": "string[]" }, + "dismissal_restrictions.users": { "type": "string[]" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "require_code_owner_reviews": { "type": "boolean" }, + "required_approving_review_count": { "type": "integer" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" + }, + "updateProtectedBranchRequiredStatusChecks": { + "method": "PATCH", + "params": { + "branch": { "required": true, "type": "string" }, + "contexts": { "type": "string[]" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "strict": { "type": "boolean" } + }, + "url": "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" + }, + "updateRelease": { + "method": "PATCH", + "params": { + "body": { "type": "string" }, + "draft": { "type": "boolean" }, + "name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "prerelease": { "type": "boolean" }, + "release_id": { "required": true, "type": "integer" }, + "repo": { "required": true, "type": "string" }, + "tag_name": { "type": "string" }, + "target_commitish": { "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/:release_id" + }, + "updateReleaseAsset": { + "method": "PATCH", + "params": { + "asset_id": { "required": true, "type": "integer" }, + "label": { "type": "string" }, + "name": { "type": "string" }, + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" } + }, + "url": "/repos/:owner/:repo/releases/assets/:asset_id" + }, + "uploadReleaseAsset": { + "method": "POST", + "params": { + "file": { + "mapTo": "data", + "required": true, + "type": "string | object" + }, + "headers": { "required": true, "type": "object" }, + "headers.content-length": { "required": true, "type": "integer" }, + "headers.content-type": { "required": true, "type": "string" }, + "label": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "url": { "required": true, "type": "string" } + }, + "url": ":url" + } + }, + "search": { + "code": { + "method": "GET", + "params": { + "order": { "enum": ["desc", "asc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "q": { "required": true, "type": "string" }, + "sort": { "enum": ["indexed"], "type": "string" } + }, + "url": "/search/code" + }, + "commits": { + "headers": { "accept": "application/vnd.github.cloak-preview+json" }, + "method": "GET", + "params": { + "order": { "enum": ["desc", "asc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "q": { "required": true, "type": "string" }, + "sort": { "enum": ["author-date", "committer-date"], "type": "string" } + }, + "url": "/search/commits" + }, + "issues": { + "deprecated": "octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)", + "method": "GET", + "params": { + "order": { "enum": ["desc", "asc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "q": { "required": true, "type": "string" }, + "sort": { + "enum": [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + "type": "string" + } + }, + "url": "/search/issues" + }, + "issuesAndPullRequests": { + "method": "GET", + "params": { + "order": { "enum": ["desc", "asc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "q": { "required": true, "type": "string" }, + "sort": { + "enum": [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + "type": "string" + } + }, + "url": "/search/issues" + }, + "labels": { + "method": "GET", + "params": { + "order": { "enum": ["desc", "asc"], "type": "string" }, + "q": { "required": true, "type": "string" }, + "repository_id": { "required": true, "type": "integer" }, + "sort": { "enum": ["created", "updated"], "type": "string" } + }, + "url": "/search/labels" + }, + "repos": { + "method": "GET", + "params": { + "order": { "enum": ["desc", "asc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "q": { "required": true, "type": "string" }, + "sort": { + "enum": ["stars", "forks", "help-wanted-issues", "updated"], + "type": "string" + } + }, + "url": "/search/repositories" + }, + "topics": { + "method": "GET", + "params": { "q": { "required": true, "type": "string" } }, + "url": "/search/topics" + }, + "users": { + "method": "GET", + "params": { + "order": { "enum": ["desc", "asc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "q": { "required": true, "type": "string" }, + "sort": { + "enum": ["followers", "repositories", "joined"], + "type": "string" + } + }, + "url": "/search/users" + } + }, + "teams": { + "addMember": { + "deprecated": "octokit.teams.addMember() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member", + "method": "PUT", + "params": { + "team_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/teams/:team_id/members/:username" + }, + "addOrUpdateMembership": { + "method": "PUT", + "params": { + "role": { "enum": ["member", "maintainer"], "type": "string" }, + "team_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/teams/:team_id/memberships/:username" + }, + "addOrUpdateProject": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "PUT", + "params": { + "permission": { "enum": ["read", "write", "admin"], "type": "string" }, + "project_id": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/projects/:project_id" + }, + "addOrUpdateRepo": { + "method": "PUT", + "params": { + "owner": { "required": true, "type": "string" }, + "permission": { "enum": ["pull", "push", "admin"], "type": "string" }, + "repo": { "required": true, "type": "string" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/repos/:owner/:repo" + }, + "checkManagesRepo": { + "method": "GET", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/repos/:owner/:repo" + }, + "create": { + "method": "POST", + "params": { + "description": { "type": "string" }, + "maintainers": { "type": "string[]" }, + "name": { "required": true, "type": "string" }, + "org": { "required": true, "type": "string" }, + "parent_team_id": { "type": "integer" }, + "permission": { "enum": ["pull", "push", "admin"], "type": "string" }, + "privacy": { "enum": ["secret", "closed"], "type": "string" }, + "repo_names": { "type": "string[]" } + }, + "url": "/orgs/:org/teams" + }, + "createDiscussion": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "private": { "type": "boolean" }, + "team_id": { "required": true, "type": "integer" }, + "title": { "required": true, "type": "string" } + }, + "url": "/teams/:team_id/discussions" + }, + "createDiscussionComment": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "POST", + "params": { + "body": { "required": true, "type": "string" }, + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/comments" + }, + "delete": { + "method": "DELETE", + "params": { "team_id": { "required": true, "type": "integer" } }, + "url": "/teams/:team_id" + }, + "deleteDiscussion": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "DELETE", + "params": { + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number" + }, + "deleteDiscussionComment": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "DELETE", + "params": { + "comment_number": { "required": true, "type": "integer" }, + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + "get": { + "method": "GET", + "params": { "team_id": { "required": true, "type": "integer" } }, + "url": "/teams/:team_id" + }, + "getByName": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "team_slug": { "required": true, "type": "string" } + }, + "url": "/orgs/:org/teams/:team_slug" + }, + "getDiscussion": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "GET", + "params": { + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number" + }, + "getDiscussionComment": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "GET", + "params": { + "comment_number": { "required": true, "type": "integer" }, + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + }, + "getMember": { + "deprecated": "octokit.teams.getMember() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member", + "method": "GET", + "params": { + "team_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/teams/:team_id/members/:username" + }, + "getMembership": { + "method": "GET", + "params": { + "team_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/teams/:team_id/memberships/:username" + }, + "list": { + "method": "GET", + "params": { + "org": { "required": true, "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/orgs/:org/teams" + }, + "listChild": { + "headers": { "accept": "application/vnd.github.hellcat-preview+json" }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/teams" + }, + "listDiscussionComments": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "discussion_number": { "required": true, "type": "integer" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/comments" + }, + "listDiscussions": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "GET", + "params": { + "direction": { "enum": ["asc", "desc"], "type": "string" }, + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions" + }, + "listForAuthenticatedUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/teams" + }, + "listMembers": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "role": { "enum": ["member", "maintainer", "all"], "type": "string" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/members" + }, + "listPendingInvitations": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/invitations" + }, + "listProjects": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/projects" + }, + "listRepos": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/repos" + }, + "removeMember": { + "deprecated": "octokit.teams.removeMember() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member", + "method": "DELETE", + "params": { + "team_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/teams/:team_id/members/:username" + }, + "removeMembership": { + "method": "DELETE", + "params": { + "team_id": { "required": true, "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/teams/:team_id/memberships/:username" + }, + "removeProject": { + "method": "DELETE", + "params": { + "project_id": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/projects/:project_id" + }, + "removeRepo": { + "method": "DELETE", + "params": { + "owner": { "required": true, "type": "string" }, + "repo": { "required": true, "type": "string" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/repos/:owner/:repo" + }, + "reviewProject": { + "headers": { "accept": "application/vnd.github.inertia-preview+json" }, + "method": "GET", + "params": { + "project_id": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/projects/:project_id" + }, + "update": { + "method": "PATCH", + "params": { + "description": { "type": "string" }, + "name": { "required": true, "type": "string" }, + "parent_team_id": { "type": "integer" }, + "permission": { "enum": ["pull", "push", "admin"], "type": "string" }, + "privacy": { "enum": ["secret", "closed"], "type": "string" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id" + }, + "updateDiscussion": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "PATCH", + "params": { + "body": { "type": "string" }, + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" }, + "title": { "type": "string" } + }, + "url": "/teams/:team_id/discussions/:discussion_number" + }, + "updateDiscussionComment": { + "headers": { "accept": "application/vnd.github.echo-preview+json" }, + "method": "PATCH", + "params": { + "body": { "required": true, "type": "string" }, + "comment_number": { "required": true, "type": "integer" }, + "discussion_number": { "required": true, "type": "integer" }, + "team_id": { "required": true, "type": "integer" } + }, + "url": "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" + } + }, + "users": { + "addEmails": { + "method": "POST", + "params": { "emails": { "required": true, "type": "string[]" } }, + "url": "/user/emails" + }, + "block": { + "method": "PUT", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/user/blocks/:username" + }, + "checkBlocked": { + "method": "GET", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/user/blocks/:username" + }, + "checkFollowing": { + "method": "GET", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/user/following/:username" + }, + "checkFollowingForUser": { + "method": "GET", + "params": { + "target_user": { "required": true, "type": "string" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/following/:target_user" + }, + "createGpgKey": { + "method": "POST", + "params": { "armored_public_key": { "type": "string" } }, + "url": "/user/gpg_keys" + }, + "createPublicKey": { + "method": "POST", + "params": { "key": { "type": "string" }, "title": { "type": "string" } }, + "url": "/user/keys" + }, + "deleteEmails": { + "method": "DELETE", + "params": { "emails": { "required": true, "type": "string[]" } }, + "url": "/user/emails" + }, + "deleteGpgKey": { + "method": "DELETE", + "params": { "gpg_key_id": { "required": true, "type": "integer" } }, + "url": "/user/gpg_keys/:gpg_key_id" + }, + "deletePublicKey": { + "method": "DELETE", + "params": { "key_id": { "required": true, "type": "integer" } }, + "url": "/user/keys/:key_id" + }, + "follow": { + "method": "PUT", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/user/following/:username" + }, + "getAuthenticated": { "method": "GET", "params": {}, "url": "/user" }, + "getByUsername": { + "method": "GET", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/users/:username" + }, + "getContextForUser": { + "headers": { "accept": "application/vnd.github.hagar-preview+json" }, + "method": "GET", + "params": { + "subject_id": { "type": "string" }, + "subject_type": { + "enum": ["organization", "repository", "issue", "pull_request"], + "type": "string" + }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/hovercard" + }, + "getGpgKey": { + "method": "GET", + "params": { "gpg_key_id": { "required": true, "type": "integer" } }, + "url": "/user/gpg_keys/:gpg_key_id" + }, + "getPublicKey": { + "method": "GET", + "params": { "key_id": { "required": true, "type": "integer" } }, + "url": "/user/keys/:key_id" + }, + "list": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "since": { "type": "string" } + }, + "url": "/users" + }, + "listBlocked": { "method": "GET", "params": {}, "url": "/user/blocks" }, + "listEmails": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/emails" + }, + "listFollowersForAuthenticatedUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/followers" + }, + "listFollowersForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/followers" + }, + "listFollowingForAuthenticatedUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/following" + }, + "listFollowingForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/following" + }, + "listGpgKeys": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/gpg_keys" + }, + "listGpgKeysForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/gpg_keys" + }, + "listPublicEmails": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/public_emails" + }, + "listPublicKeys": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" } + }, + "url": "/user/keys" + }, + "listPublicKeysForUser": { + "method": "GET", + "params": { + "page": { "type": "integer" }, + "per_page": { "type": "integer" }, + "username": { "required": true, "type": "string" } + }, + "url": "/users/:username/keys" + }, + "togglePrimaryEmailVisibility": { + "method": "PATCH", + "params": { + "email": { "required": true, "type": "string" }, + "visibility": { "required": true, "type": "string" } + }, + "url": "/user/email/visibility" + }, + "unblock": { + "method": "DELETE", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/user/blocks/:username" + }, + "unfollow": { + "method": "DELETE", + "params": { "username": { "required": true, "type": "string" } }, + "url": "/user/following/:username" + }, + "updateAuthenticated": { + "method": "PATCH", + "params": { + "bio": { "type": "string" }, + "blog": { "type": "string" }, + "company": { "type": "string" }, + "email": { "type": "string" }, + "hireable": { "type": "boolean" }, + "location": { "type": "string" }, + "name": { "type": "string" } + }, + "url": "/user" + } + } +} diff --git a/node_modules/@octokit/rest/plugins/validate/index.js b/node_modules/@octokit/rest/plugins/validate/index.js new file mode 100644 index 0000000..9954751 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/validate/index.js @@ -0,0 +1,7 @@ +module.exports = octokitValidate; + +const validate = require("./validate"); + +function octokitValidate(octokit) { + octokit.hook.before("request", validate.bind(null, octokit)); +} diff --git a/node_modules/@octokit/rest/plugins/validate/validate.js b/node_modules/@octokit/rest/plugins/validate/validate.js new file mode 100644 index 0000000..00b3008 --- /dev/null +++ b/node_modules/@octokit/rest/plugins/validate/validate.js @@ -0,0 +1,151 @@ +"use strict"; + +module.exports = validate; + +const { RequestError } = require("@octokit/request-error"); +const get = require("lodash.get"); +const set = require("lodash.set"); + +function validate(octokit, options) { + if (!options.request.validate) { + return; + } + const { validate: params } = options.request; + + Object.keys(params).forEach(parameterName => { + const parameter = get(params, parameterName); + + const expectedType = parameter.type; + let parentParameterName; + let parentValue; + let parentParamIsPresent = true; + let parentParameterIsArray = false; + + if (/\./.test(parameterName)) { + parentParameterName = parameterName.replace(/\.[^.]+$/, ""); + parentParameterIsArray = parentParameterName.slice(-2) === "[]"; + if (parentParameterIsArray) { + parentParameterName = parentParameterName.slice(0, -2); + } + parentValue = get(options, parentParameterName); + parentParamIsPresent = + parentParameterName === "headers" || + (typeof parentValue === "object" && parentValue !== null); + } + + const values = parentParameterIsArray + ? (get(options, parentParameterName) || []).map( + value => value[parameterName.split(/\./).pop()] + ) + : [get(options, parameterName)]; + + values.forEach((value, i) => { + const valueIsPresent = typeof value !== "undefined"; + const valueIsNull = value === null; + const currentParameterName = parentParameterIsArray + ? parameterName.replace(/\[\]/, `[${i}]`) + : parameterName; + + if (!parameter.required && !valueIsPresent) { + return; + } + + // if the parent parameter is of type object but allows null + // then the child parameters can be ignored + if (!parentParamIsPresent) { + return; + } + + if (parameter.allowNull && valueIsNull) { + return; + } + + if (!parameter.allowNull && valueIsNull) { + throw new RequestError( + `'${currentParameterName}' cannot be null`, + 400, + { + request: options + } + ); + } + + if (parameter.required && !valueIsPresent) { + throw new RequestError( + `Empty value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + + // parse to integer before checking for enum + // so that string "1" will match enum with number 1 + if (expectedType === "integer") { + const unparsedValue = value; + value = parseInt(value, 10); + if (isNaN(value)) { + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + unparsedValue + )} is NaN`, + 400, + { + request: options + } + ); + } + } + + if (parameter.enum && parameter.enum.indexOf(String(value)) === -1) { + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + + if (parameter.validation) { + const regex = new RegExp(parameter.validation); + if (!regex.test(value)) { + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + } + + if (expectedType === "object" && typeof value === "string") { + try { + value = JSON.parse(value); + } catch (exception) { + throw new RequestError( + `JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); + } + } + + set(options, parameter.mapTo || currentParameterName, value); + }); + }); + + return options; +} diff --git a/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/01_help.md b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/01_help.md new file mode 100644 index 0000000..b518515 --- /dev/null +++ b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/01_help.md @@ -0,0 +1,5 @@ +--- +name: "🆘 Help" +about: "How does this even work 🤷‍♂️" +labels: support +--- diff --git a/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/02_bug.md b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/02_bug.md new file mode 100644 index 0000000..d7e8325 --- /dev/null +++ b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/02_bug.md @@ -0,0 +1,19 @@ +--- +name: "🐛 Bug Report" +about: "If something isn't working as expected 🤔" +labels: bug +--- + + + +**What happened?** + + + +**What did you expect to happen?** + + + +**What the problem might be** + + diff --git a/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/03_feature_request.md b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/03_feature_request.md new file mode 100644 index 0000000..89a5481 --- /dev/null +++ b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/03_feature_request.md @@ -0,0 +1,19 @@ +--- +name: "🧚‍♂️ Feature Request" +about: "Wouldn’t it be nice if 💭" +labels: feature +--- + + + +**What’s missing?** + + + +**Why?** + + + +**Alternatives you tried** + + diff --git a/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/04_thanks.md b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/04_thanks.md new file mode 100644 index 0000000..c67ce83 --- /dev/null +++ b/node_modules/@octokit/types/.github/ISSUE_TEMPLATE/04_thanks.md @@ -0,0 +1,19 @@ +--- +name: "💝 Thank you" +about: "@octokit/types is awesome 🙌" +labels: thanks +--- + + + +**How do you use @octokit/types?** + + + +**What do you love about it?** + + + +**How did you learn about it?** + + diff --git a/node_modules/@octokit/types/.github/workflows/release.yml b/node_modules/@octokit/types/.github/workflows/release.yml new file mode 100644 index 0000000..e47f42c --- /dev/null +++ b/node_modules/@octokit/types/.github/workflows/release.yml @@ -0,0 +1,25 @@ +name: Release +on: + push: + branches: + - master + +jobs: + release: + name: release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@v1 + with: + node-version: "12.x" + - run: npm ci + - run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - run: npm run docs + - uses: maxheld83/ghpages@master + env: + BUILD_DIR: docs/ + GH_PAT: ${{ secrets.OCTOKIT_PAT }} diff --git a/node_modules/@octokit/types/.github/workflows/routes-update.yml b/node_modules/@octokit/types/.github/workflows/routes-update.yml new file mode 100644 index 0000000..f1639d9 --- /dev/null +++ b/node_modules/@octokit/types/.github/workflows/routes-update.yml @@ -0,0 +1,37 @@ +name: octokit/routes update +on: + repository_dispatch: + types: [octokit-routes-release] + +jobs: + update_routes: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@v1 + with: + node-version: "12.x" + # try checking out routes-update branch. Ignore error if it does not exist + - run: git checkout routes-update || true + - run: npm ci + - run: npm run update-endpoints + - name: Create Pull Request + uses: gr2m/create-or-update-pull-request-action@v1.x + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + title: "🚧 GitHub REST Endpoints changed" + body: | + See what changed at https://github.com/octokit/routes/releases/latest. + + Make sure to update the commits so that the merge results in helpful release notes, see [Merging the Pull Request & releasing a new version](https://github.com/octokit/rest.js/blob/master/CONTRIBUTING.md#merging-the-pull-request--releasing-a-new-version). + + In general + + - Avoid breaking changes at all costs + - If there are no typescript or code changes, use a `docs` prefix + - If there are typescript changes but no code changes, use `fix(typescript)` prefix + - If there are code changes, use `fix` if a problem was resolved, `feat` if new endpoints / parameters were added, and `feat(deprecation)` if a method was deprecated. + branch: "routes-update" + commit-message: "WIP octokit/routes updated" + author: "Octokit Bot <33075676+octokitbot@users.noreply.github.com>" diff --git a/node_modules/@octokit/types/.github/workflows/test.yml b/node_modules/@octokit/types/.github/workflows/test.yml new file mode 100644 index 0000000..702220f --- /dev/null +++ b/node_modules/@octokit/types/.github/workflows/test.yml @@ -0,0 +1,19 @@ +name: Test +on: + push: + branches: + - master + - "greenkeeper/*" + pull_request: + types: [opened, synchronize] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions/setup-node@v1 + with: + node-version: 12 + - run: npm ci + - run: npm test diff --git a/node_modules/@octokit/types/CODE_OF_CONDUCT.md b/node_modules/@octokit/types/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..8392e63 --- /dev/null +++ b/node_modules/@octokit/types/CODE_OF_CONDUCT.md @@ -0,0 +1,75 @@ +# 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 opensource+octokit@github.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and 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 [https://contributor-covenant.org/version/1/4][version] + +[homepage]: https://contributor-covenant.org +[version]: https://contributor-covenant.org/version/1/4/ + diff --git a/node_modules/@octokit/types/CONTRIBUTING.md b/node_modules/@octokit/types/CONTRIBUTING.md new file mode 100644 index 0000000..6b27599 --- /dev/null +++ b/node_modules/@octokit/types/CONTRIBUTING.md @@ -0,0 +1,59 @@ +# How to contribute + +Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). +By participating in this project you agree to abide by its terms. + +## Creating an Issue + +Before you create a new Issue: + +1. Please make sure there is no [open issue](https://github.com/octokit/plugin-paginate-rest/issues?utf8=%E2%9C%93&q=is%3Aissue) yet. +2. If it is a bug report, include the steps to reproduce the issue and please create a reproducible test case on [runkit.com](https://runkit.com/). Example: https://runkit.com/gr2m/5aa034f1440b420012a6eebf +3. If it is a feature request, please share the motivation for the new feature, what alternatives you tried, and how you would implement it. +4. Please include links to the corresponding github documentation. + +## Setup the repository locally + +First, fork the repository. + +Setup the repository locally. Replace `` with the name of the account you forked to. + +```shell +git clone https://github.com//plugin-paginate-rest.js.git +cd plugin-paginate-rest.js +npm install +``` + +Run the tests before making changes to make sure the local setup is working as expected + +```shell +npm test +``` + +## Submitting the Pull Request + +- Create a new branch locally. +- Make your changes in that branch to your fork repository +- Submit a pull request from your topic branch to the master branch on the `octokit/plugin-paginate-rest.js` repository. +- Be sure to tag any issues your pull request is taking care of / contributing to. Adding "Closes #123" to a pull request description will automatically close the issue once the pull request is merged in. + +## Testing a pull request from github repo locally: + +You can install `@octokit/plugin-paginate-rest` from each pull request. Replace `[PULL REQUEST NUMBER]` + +Once you are done testing, you can revert back to the default module `@octokit/plugin-paginate-rest` from npm with `npm install @octokit/plugin-paginate-rest` + +## Merging the Pull Request & releasing a new version + +Releases are automated using [semantic-release](https://github.com/semantic-release/semantic-release). +The following commit message conventions determine which version is released: + +1. `fix: ...` or `fix(scope name): ...` prefix in subject: bumps fix version, e.g. `1.2.3` → `1.2.4` +2. `feat: ...` or `feat(scope name): ...` prefix in subject: bumps feature version, e.g. `1.2.3` → `1.3.0` +3. `BREAKING CHANGE:` in body: bumps breaking version, e.g. `1.2.3` → `2.0.0` + +Only one version number is bumped at a time, the highest version change trumps the others. +Besides publishing a new version to npm, semantic-release also creates a git tag and release +on GitHub, generates changelogs from the commit messages and puts them into the release notes. +s +If the pull request looks good but does not follow the commit conventions, use the Squash & merge button. diff --git a/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..482dae0 --- /dev/null +++ b/node_modules/@octokit/types/README.md @@ -0,0 +1,19 @@ +# 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) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/types.ts.svg)](https://greenkeeper.io/) + +## Usage + +See https://octokit.github.io/types.ts for all exported types + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..27d8c53 --- /dev/null +++ b/node_modules/@octokit/types/package.json @@ -0,0 +1,66 @@ +{ + "name": "@octokit/types", + "version": "1.1.0", + "publishConfig": { + "access": "public" + }, + "description": "Shared TypeScript definitions for Octokit projects", + "main": "src/index.ts", + "scripts": { + "docs": "typedoc --module commonjs --readme none --out docs src/", + "lint": "prettier --check '{src,test}/**/*' README.md package.json !src/generated/*", + "lint:fix": "prettier --write '{src,test}/**/*' README.md package.json !src/generated/*", + "pretest": "npm run -s lint", + "test": "./node_modules/.bin/tsc --noEmit src/index.ts", + "update-endpoints": "npm-run-all update-endpoints:*", + "update-endpoints:fetch-json": "node scripts/update-endpoints/fetch-json", + "update-endpoints:typescript": "node scripts/update-endpoints/typescript" + }, + "repository": "https://github.com/octokit/types.ts", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/graphql": "^4.2.2", + "handlebars": "^4.4.5", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^2.0.1", + "prettier": "^1.18.2", + "semantic-release": "^15.13.24", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.15.0", + "typescript": "^3.6.4" + }, + "release": { + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + "@semantic-release/github", + "@semantic-release/npm", + [ + "semantic-release-plugin-update-version-in-files", + { + "files": [ + "src/VERSION.ts" + ] + } + ] + ] + }, + "dependencies": { + "@types/node": "^12.11.1" + } + +,"_resolved": "https://registry.npmjs.org/@octokit/types/-/types-1.1.0.tgz" +,"_integrity": "sha512-t4ZD74UnNVMq6kZBDZceflRKK3q4o5PoCKMAGht0RK84W57tqonqKL3vCxJHtbGExdan9RwV8r7VJBZxIM1O7Q==" +,"_from": "@octokit/types@1.1.0" +} \ No newline at end of file diff --git a/node_modules/@octokit/types/scripts/update-endpoints/fetch-json.js b/node_modules/@octokit/types/scripts/update-endpoints/fetch-json.js new file mode 100644 index 0000000..6bca930 --- /dev/null +++ b/node_modules/@octokit/types/scripts/update-endpoints/fetch-json.js @@ -0,0 +1,41 @@ +const { writeFileSync } = require("fs"); +const path = require("path"); + +const { graphql } = require("@octokit/graphql"); +const prettier = require("prettier"); + +const QUERY = ` + { + endpoints { + name + scope(format: CAMELCASE) + id(format: CAMELCASE) + method + url + parameters { + alias + allowNull + deprecated + description + enum + name + type + required + } + } + }`; + +main(); + +async function main() { + const { endpoints } = await graphql(QUERY, { + url: "https://octokit-routes-graphql-server.now.sh/" + }); + + writeFileSync( + path.resolve(__dirname, "generated", "endpoints.json"), + prettier.format(JSON.stringify(endpoints), { + parser: "json" + }) + ); +} diff --git a/node_modules/@octokit/types/scripts/update-endpoints/generated/README.md b/node_modules/@octokit/types/scripts/update-endpoints/generated/README.md new file mode 100644 index 0000000..6beaf58 --- /dev/null +++ b/node_modules/@octokit/types/scripts/update-endpoints/generated/README.md @@ -0,0 +1,3 @@ +# DO NOT EDIT FILES IN THIS DIRECTORY + +All files are generated automatically and will be overwritten next time [octokit/routes](https://github.com/octokit/routes/) has a new release. If you find a problem, please file an issue. diff --git a/node_modules/@octokit/types/scripts/update-endpoints/generated/endpoints.json b/node_modules/@octokit/types/scripts/update-endpoints/generated/endpoints.json new file mode 100644 index 0000000..6c3d62a --- /dev/null +++ b/node_modules/@octokit/types/scripts/update-endpoints/generated/endpoints.json @@ -0,0 +1,25258 @@ +[ + { + "name": "Get the authenticated GitHub App", + "scope": "apps", + "id": "getAuthenticated", + "method": "GET", + "url": "/app", + "parameters": [] + }, + { + "name": "Create a GitHub App from a manifest", + "scope": "apps", + "id": "createFromManifest", + "method": "POST", + "url": "/app-manifests/{code}/conversions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "code parameter", + "enum": null, + "name": "code", + "type": "string", + "required": true + } + ] + }, + { + "name": "List installations", + "scope": "apps", + "id": "listInstallations", + "method": "GET", + "url": "/app/installations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get an installation", + "scope": "apps", + "id": "getInstallation", + "method": "GET", + "url": "/app/installations/{installation_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "installation_id parameter", + "enum": null, + "name": "installation_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Delete an installation", + "scope": "apps", + "id": "deleteInstallation", + "method": "DELETE", + "url": "/app/installations/{installation_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "installation_id parameter", + "enum": null, + "name": "installation_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Create a new installation token", + "scope": "apps", + "id": "createInstallationToken", + "method": "POST", + "url": "/app/installations/{installation_id}/access_tokens", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "installation_id parameter", + "enum": null, + "name": "installation_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the \"[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)\" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token.", + "enum": null, + "name": "repository_ids", + "type": "integer[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see \"[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions).\"", + "enum": null, + "name": "permissions", + "type": "object", + "required": false + } + ] + }, + { + "name": "List your grants", + "scope": "oauthAuthorizations", + "id": "listGrants", + "method": "GET", + "url": "/applications/grants", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single grant", + "scope": "oauthAuthorizations", + "id": "getGrant", + "method": "GET", + "url": "/applications/grants/{grant_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "grant_id parameter", + "enum": null, + "name": "grant_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Delete a grant", + "scope": "oauthAuthorizations", + "id": "deleteGrant", + "method": "DELETE", + "url": "/applications/grants/{grant_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "grant_id parameter", + "enum": null, + "name": "grant_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Revoke a grant for an application", + "scope": "oauthAuthorizations", + "id": "revokeGrantForApplication", + "method": "DELETE", + "url": "/applications/{client_id}/grants/{access_token}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "client_id parameter", + "enum": null, + "name": "client_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "access_token parameter", + "enum": null, + "name": "access_token", + "type": "string", + "required": true + } + ] + }, + { + "name": "Check an authorization", + "scope": "oauthAuthorizations", + "id": "checkAuthorization", + "method": "GET", + "url": "/applications/{client_id}/tokens/{access_token}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "client_id parameter", + "enum": null, + "name": "client_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "access_token parameter", + "enum": null, + "name": "access_token", + "type": "string", + "required": true + } + ] + }, + { + "name": "Reset an authorization", + "scope": "oauthAuthorizations", + "id": "resetAuthorization", + "method": "POST", + "url": "/applications/{client_id}/tokens/{access_token}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "client_id parameter", + "enum": null, + "name": "client_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "access_token parameter", + "enum": null, + "name": "access_token", + "type": "string", + "required": true + } + ] + }, + { + "name": "Revoke an authorization for an application", + "scope": "oauthAuthorizations", + "id": "revokeAuthorizationForApplication", + "method": "DELETE", + "url": "/applications/{client_id}/tokens/{access_token}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "client_id parameter", + "enum": null, + "name": "client_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "access_token parameter", + "enum": null, + "name": "access_token", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a single GitHub App", + "scope": "apps", + "id": "getBySlug", + "method": "GET", + "url": "/apps/{app_slug}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "app_slug parameter", + "enum": null, + "name": "app_slug", + "type": "string", + "required": true + } + ] + }, + { + "name": "List your authorizations", + "scope": "oauthAuthorizations", + "id": "listAuthorizations", + "method": "GET", + "url": "/authorizations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a new authorization", + "scope": "oauthAuthorizations", + "id": "createAuthorization", + "method": "POST", + "url": "/authorizations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of scopes that this authorization is in.", + "enum": null, + "name": "scopes", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note.", + "enum": null, + "name": "note", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL to remind you what app the OAuth token is for.", + "enum": null, + "name": "note_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The 20 character OAuth app client key for which to create the token.", + "enum": null, + "name": "client_id", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The 40 character OAuth app client secret for which to create the token.", + "enum": null, + "name": "client_secret", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", + "enum": null, + "name": "fingerprint", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get-or-create an authorization for a specific app", + "scope": "oauthAuthorizations", + "id": "getOrCreateAuthorizationForApp", + "method": "PUT", + "url": "/authorizations/clients/{client_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "client_id parameter", + "enum": null, + "name": "client_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The 40 character OAuth app client secret associated with the client ID specified in the URL.", + "enum": null, + "name": "client_secret", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of scopes that this authorization is in.", + "enum": null, + "name": "scopes", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A note to remind you what the OAuth token is for.", + "enum": null, + "name": "note", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL to remind you what app the OAuth token is for.", + "enum": null, + "name": "note_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint).", + "enum": null, + "name": "fingerprint", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get-or-create an authorization for a specific app and fingerprint", + "scope": "oauthAuthorizations", + "id": "getOrCreateAuthorizationForAppAndFingerprint", + "method": "PUT", + "url": "/authorizations/clients/{client_id}/{fingerprint}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "client_id parameter", + "enum": null, + "name": "client_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "fingerprint parameter", + "enum": null, + "name": "fingerprint", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The 40 character OAuth app client secret associated with the client ID specified in the URL.", + "enum": null, + "name": "client_secret", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of scopes that this authorization is in.", + "enum": null, + "name": "scopes", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A note to remind you what the OAuth token is for.", + "enum": null, + "name": "note", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL to remind you what app the OAuth token is for.", + "enum": null, + "name": "note_url", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get-or-create an authorization for a specific app and fingerprint", + "scope": "oauthAuthorizations", + "id": "getOrCreateAuthorizationForAppFingerprint", + "method": "PUT", + "url": "/authorizations/clients/{client_id}/{fingerprint}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "client_id parameter", + "enum": null, + "name": "client_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "fingerprint parameter", + "enum": null, + "name": "fingerprint", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The 40 character OAuth app client secret associated with the client ID specified in the URL.", + "enum": null, + "name": "client_secret", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of scopes that this authorization is in.", + "enum": null, + "name": "scopes", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A note to remind you what the OAuth token is for.", + "enum": null, + "name": "note", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL to remind you what app the OAuth token is for.", + "enum": null, + "name": "note_url", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a single authorization", + "scope": "oauthAuthorizations", + "id": "getAuthorization", + "method": "GET", + "url": "/authorizations/{authorization_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "authorization_id parameter", + "enum": null, + "name": "authorization_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Update an existing authorization", + "scope": "oauthAuthorizations", + "id": "updateAuthorization", + "method": "PATCH", + "url": "/authorizations/{authorization_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "authorization_id parameter", + "enum": null, + "name": "authorization_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Replaces the authorization scopes with these.", + "enum": null, + "name": "scopes", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of scopes to add to this authorization.", + "enum": null, + "name": "add_scopes", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of scopes to remove from this authorization.", + "enum": null, + "name": "remove_scopes", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note.", + "enum": null, + "name": "note", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL to remind you what app the OAuth token is for.", + "enum": null, + "name": "note_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A unique string to distinguish an authorization from others created for the same client ID and user.", + "enum": null, + "name": "fingerprint", + "type": "string", + "required": false + } + ] + }, + { + "name": "Delete an authorization", + "scope": "oauthAuthorizations", + "id": "deleteAuthorization", + "method": "DELETE", + "url": "/authorizations/{authorization_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "authorization_id parameter", + "enum": null, + "name": "authorization_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List all codes of conduct", + "scope": "codesOfConduct", + "id": "listConductCodes", + "method": "GET", + "url": "/codes_of_conduct", + "parameters": [] + }, + { + "name": "Get an individual code of conduct", + "scope": "codesOfConduct", + "id": "getConductCode", + "method": "GET", + "url": "/codes_of_conduct/{key}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "key parameter", + "enum": null, + "name": "key", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create a content attachment", + "scope": "apps", + "id": "createContentAttachment", + "method": "POST", + "url": "/content_references/{content_reference_id}/attachments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "content_reference_id parameter", + "enum": null, + "name": "content_reference_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the content attachment displayed in the body or comment of an issue or pull request.", + "enum": null, + "name": "title", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get", + "scope": "emojis", + "id": "get", + "method": "GET", + "url": "/emojis", + "parameters": [] + }, + { + "name": "List public events", + "scope": "activity", + "id": "listPublicEvents", + "method": "GET", + "url": "/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List feeds", + "scope": "activity", + "id": "listFeeds", + "method": "GET", + "url": "/feeds", + "parameters": [] + }, + { + "name": "List the authenticated user's gists or if called anonymously, this will return all public gists", + "scope": "gists", + "id": "list", + "method": "GET", + "url": "/gists", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a gist", + "scope": "gists", + "id": "create", + "method": "POST", + "url": "/gists", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`.", + "enum": null, + "name": "files", + "type": "object", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The content of the file.", + "enum": null, + "name": "files.content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A descriptive name for this gist.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "When `true`, the gist will be public and available for anyone to see.", + "enum": null, + "name": "public", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "List all public gists", + "scope": "gists", + "id": "listPublic", + "method": "GET", + "url": "/gists/public", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List starred gists", + "scope": "gists", + "id": "listStarred", + "method": "GET", + "url": "/gists/starred", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single gist", + "scope": "gists", + "id": "get", + "method": "GET", + "url": "/gists/{gist_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + } + ] + }, + { + "name": "Edit a gist", + "scope": "gists", + "id": "update", + "method": "PATCH", + "url": "/gists/{gist_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A descriptive name for this gist.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The filenames and content that make up this gist.", + "enum": null, + "name": "files", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The updated content of the file.", + "enum": null, + "name": "files.content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new name for this file. To delete a file, set the value of the filename to `null`.", + "enum": null, + "name": "files.filename", + "type": "string", + "required": false + } + ] + }, + { + "name": "Delete a gist", + "scope": "gists", + "id": "delete", + "method": "DELETE", + "url": "/gists/{gist_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + } + ] + }, + { + "name": "List comments on a gist", + "scope": "gists", + "id": "listComments", + "method": "GET", + "url": "/gists/{gist_id}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a comment", + "scope": "gists", + "id": "createComment", + "method": "POST", + "url": "/gists/{gist_id}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The comment text.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a single comment", + "scope": "gists", + "id": "getComment", + "method": "GET", + "url": "/gists/{gist_id}/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a comment", + "scope": "gists", + "id": "updateComment", + "method": "PATCH", + "url": "/gists/{gist_id}/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The comment text.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Delete a comment", + "scope": "gists", + "id": "deleteComment", + "method": "DELETE", + "url": "/gists/{gist_id}/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List gist commits", + "scope": "gists", + "id": "listCommits", + "method": "GET", + "url": "/gists/{gist_id}/commits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Fork a gist", + "scope": "gists", + "id": "fork", + "method": "POST", + "url": "/gists/{gist_id}/forks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + } + ] + }, + { + "name": "List gist forks", + "scope": "gists", + "id": "listForks", + "method": "GET", + "url": "/gists/{gist_id}/forks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Star a gist", + "scope": "gists", + "id": "star", + "method": "PUT", + "url": "/gists/{gist_id}/star", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + } + ] + }, + { + "name": "Unstar a gist", + "scope": "gists", + "id": "unstar", + "method": "DELETE", + "url": "/gists/{gist_id}/star", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + } + ] + }, + { + "name": "Check if a gist is starred", + "scope": "gists", + "id": "checkIsStarred", + "method": "GET", + "url": "/gists/{gist_id}/star", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a specific revision of a gist", + "scope": "gists", + "id": "getRevision", + "method": "GET", + "url": "/gists/{gist_id}/{sha}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gist_id parameter", + "enum": null, + "name": "gist_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "sha parameter", + "enum": null, + "name": "sha", + "type": "string", + "required": true + } + ] + }, + { + "name": "Listing available templates", + "scope": "gitignore", + "id": "listTemplates", + "method": "GET", + "url": "/gitignore/templates", + "parameters": [] + }, + { + "name": "Get a single template", + "scope": "gitignore", + "id": "getTemplate", + "method": "GET", + "url": "/gitignore/templates/{name}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "name parameter", + "enum": null, + "name": "name", + "type": "string", + "required": true + } + ] + }, + { + "name": "List repositories", + "scope": "apps", + "id": "listRepos", + "method": "GET", + "url": "/installation/repositories", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List all issues assigned to the authenticated user across all visible repositories including owned repositories, member repositories, and organization repositories", + "scope": "issues", + "id": "list", + "method": "GET", + "url": "/issues", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "name": "filter", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of comma separated label names. Example: `bug,ui,@high`", + "enum": null, + "name": "labels", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "enum": ["created", "updated", "comments"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The direction of the sort. Can be either `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Search issues", + "scope": "search", + "id": "issuesLegacy", + "method": "GET", + "url": "/legacy/issues/search/{owner}/{repository}/{state}/{keyword}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repository parameter", + "enum": null, + "name": "repository", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the issues to return. Can be either `open` or `closed`.", + "enum": ["open", "closed"], + "name": "state", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The search term.", + "enum": null, + "name": "keyword", + "type": "string", + "required": true + } + ] + }, + { + "name": "Search repositories", + "scope": "search", + "id": "reposLegacy", + "method": "GET", + "url": "/legacy/repos/search/{keyword}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The search term.", + "enum": null, + "name": "keyword", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filter results by language.", + "enum": null, + "name": "language", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The page number to fetch.", + "enum": null, + "name": "start_page", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match.", + "enum": ["stars", "forks", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The sort field. if `sort` param is provided. Can be either `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "order", + "type": "string", + "required": false + } + ] + }, + { + "name": "Email search", + "scope": "search", + "id": "emailLegacy", + "method": "GET", + "url": "/legacy/user/email/{email}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email address.", + "enum": null, + "name": "email", + "type": "string", + "required": true + } + ] + }, + { + "name": "Search users", + "scope": "search", + "id": "usersLegacy", + "method": "GET", + "url": "/legacy/user/search/{keyword}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The search term.", + "enum": null, + "name": "keyword", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The page number to fetch.", + "enum": null, + "name": "start_page", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match.", + "enum": ["stars", "forks", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The sort field. if `sort` param is provided. Can be either `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "order", + "type": "string", + "required": false + } + ] + }, + { + "name": "List commonly used licenses", + "scope": "licenses", + "id": "listCommonlyUsed", + "method": "GET", + "url": "/licenses", + "parameters": [] + }, + { + "name": "List commonly used licenses", + "scope": "licenses", + "id": "list", + "method": "GET", + "url": "/licenses", + "parameters": [] + }, + { + "name": "Get an individual license", + "scope": "licenses", + "id": "get", + "method": "GET", + "url": "/licenses/{license}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "license parameter", + "enum": null, + "name": "license", + "type": "string", + "required": true + } + ] + }, + { + "name": "Render an arbitrary Markdown document", + "scope": "markdown", + "id": "render", + "method": "POST", + "url": "/markdown", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The Markdown text to render in HTML. Markdown content must be 400 KB or less.", + "enum": null, + "name": "text", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The rendering mode. Can be either: \n\\* `markdown` to render a document in plain Markdown, just like README.md files are rendered. \n\\* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests.", + "enum": ["markdown", "gfm"], + "name": "mode", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode.", + "enum": null, + "name": "context", + "type": "string", + "required": false + } + ] + }, + { + "name": "Render a Markdown document in raw mode", + "scope": "markdown", + "id": "renderRaw", + "method": "POST", + "url": "/markdown/raw", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "data parameter", + "enum": null, + "name": "data", + "type": "string", + "required": true + } + ] + }, + { + "name": "Check if a GitHub account is associated with any Marketplace listing", + "scope": "apps", + "id": "checkAccountIsAssociatedWithAny", + "method": "GET", + "url": "/marketplace_listing/accounts/{account_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "account_id parameter", + "enum": null, + "name": "account_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List all plans for your Marketplace listing", + "scope": "apps", + "id": "listPlans", + "method": "GET", + "url": "/marketplace_listing/plans", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List all GitHub accounts (user or organization) on a specific plan", + "scope": "apps", + "id": "listAccountsUserOrOrgOnPlan", + "method": "GET", + "url": "/marketplace_listing/plans/{plan_id}/accounts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "plan_id parameter", + "enum": null, + "name": "plan_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`.", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check if a GitHub account is associated with any Marketplace listing (stubbed)", + "scope": "apps", + "id": "checkAccountIsAssociatedWithAnyStubbed", + "method": "GET", + "url": "/marketplace_listing/stubbed/accounts/{account_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "account_id parameter", + "enum": null, + "name": "account_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List all plans for your Marketplace listing (stubbed)", + "scope": "apps", + "id": "listPlansStubbed", + "method": "GET", + "url": "/marketplace_listing/stubbed/plans", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List all GitHub accounts (user or organization) on a specific plan (stubbed)", + "scope": "apps", + "id": "listAccountsUserOrOrgOnPlanStubbed", + "method": "GET", + "url": "/marketplace_listing/stubbed/plans/{plan_id}/accounts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "plan_id parameter", + "enum": null, + "name": "plan_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`.", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get", + "scope": "meta", + "id": "get", + "method": "GET", + "url": "/meta", + "parameters": [] + }, + { + "name": "List public events for a network of repositories", + "scope": "activity", + "id": "listPublicEventsForRepoNetwork", + "method": "GET", + "url": "/networks/{owner}/{repo}/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List your notifications", + "scope": "activity", + "id": "listNotifications", + "method": "GET", + "url": "/notifications", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If `true`, show notifications marked as read.", + "enum": null, + "name": "all", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If `true`, only shows notifications in which the user is directly participating or mentioned.", + "enum": null, + "name": "participating", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only show notifications 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`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "before", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Mark as read", + "scope": "activity", + "id": "markAsRead", + "method": "PUT", + "url": "/notifications", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.", + "enum": null, + "name": "last_read_at", + "type": "string", + "required": false + } + ] + }, + { + "name": "View a single thread", + "scope": "activity", + "id": "getThread", + "method": "GET", + "url": "/notifications/threads/{thread_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "thread_id parameter", + "enum": null, + "name": "thread_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Mark a thread as read", + "scope": "activity", + "id": "markThreadAsRead", + "method": "PATCH", + "url": "/notifications/threads/{thread_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "thread_id parameter", + "enum": null, + "name": "thread_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Get a thread subscription", + "scope": "activity", + "id": "getThreadSubscription", + "method": "GET", + "url": "/notifications/threads/{thread_id}/subscription", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "thread_id parameter", + "enum": null, + "name": "thread_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Set a thread subscription", + "scope": "activity", + "id": "setThreadSubscription", + "method": "PUT", + "url": "/notifications/threads/{thread_id}/subscription", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "thread_id parameter", + "enum": null, + "name": "thread_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread.", + "enum": null, + "name": "ignored", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a thread subscription", + "scope": "activity", + "id": "deleteThreadSubscription", + "method": "DELETE", + "url": "/notifications/threads/{thread_id}/subscription", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "thread_id parameter", + "enum": null, + "name": "thread_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List all organizations", + "scope": "orgs", + "id": "list", + "method": "GET", + "url": "/organizations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The integer ID of the last Organization that you've seen.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get an organization", + "scope": "orgs", + "id": "get", + "method": "GET", + "url": "/orgs/{org}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Edit an organization", + "scope": "orgs", + "id": "update", + "method": "PATCH", + "url": "/orgs/{org}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Billing email address. This address is not publicized.", + "enum": null, + "name": "billing_email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The company name.", + "enum": null, + "name": "company", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The publicly visible email address.", + "enum": null, + "name": "email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The location.", + "enum": null, + "name": "location", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The shorthand name of the company.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The description of the company.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Toggles whether organization projects are enabled for the organization.", + "enum": null, + "name": "has_organization_projects", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Toggles whether repository projects are enabled for repositories that belong to the organization.", + "enum": null, + "name": "has_repository_projects", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Default permission level members have for organization repositories: \n\\* `read` - can pull, but not push to or administer this repository. \n\\* `write` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push, and administer this repository. \n\\* `none` - no permissions granted by default.", + "enum": ["read", "write", "admin", "none"], + "name": "default_repository_permission", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Toggles the ability of non-admin organization members to create repositories. Can be one of: \n\\* `true` - all organization members can create repositories. \n\\* `false` - only admin members can create repositories. \nDefault: `true` \n**Note:** Another parameter can override the this parameter. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. **Note:** Another parameter can override the this parameter. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details.", + "enum": null, + "name": "members_can_create_repositories", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specifies which types of repositories non-admin organization members can create. Can be one of: \n\\* `all` - all organization members can create public and private repositories. \n\\* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on [GitHub Business Cloud](https://github.com/pricing/business-cloud). \n\\* `none` - only admin members can create repositories. \n**Note:** Using this parameter will override values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details.", + "enum": ["all", "private", "none"], + "name": "members_allowed_repository_creation_type", + "type": "string", + "required": false + } + ] + }, + { + "name": "List blocked users", + "scope": "orgs", + "id": "listBlockedUsers", + "method": "GET", + "url": "/orgs/{org}/blocks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Check whether a user is blocked from an organization", + "scope": "orgs", + "id": "checkBlockedUser", + "method": "GET", + "url": "/orgs/{org}/blocks/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Block a user", + "scope": "orgs", + "id": "blockUser", + "method": "PUT", + "url": "/orgs/{org}/blocks/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Unblock a user", + "scope": "orgs", + "id": "unblockUser", + "method": "DELETE", + "url": "/orgs/{org}/blocks/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List credential authorizations for an organization", + "scope": "orgs", + "id": "listCredentialAuthorizations", + "method": "GET", + "url": "/orgs/{org}/credential-authorizations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove a credential authorization for an organization", + "scope": "orgs", + "id": "removeCredentialAuthorization", + "method": "DELETE", + "url": "/orgs/{org}/credential-authorizations/{credential_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "credential_id parameter", + "enum": null, + "name": "credential_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List public events for an organization", + "scope": "activity", + "id": "listPublicEventsForOrg", + "method": "GET", + "url": "/orgs/{org}/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List hooks", + "scope": "orgs", + "id": "listHooks", + "method": "GET", + "url": "/orgs/{org}/hooks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a hook", + "scope": "orgs", + "id": "createHook", + "method": "POST", + "url": "/orgs/{org}/hooks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Must be passed as \"web\".", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params).", + "enum": null, + "name": "config", + "type": "object", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The URL to which the payloads will be delivered.", + "enum": null, + "name": "config.url", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", + "enum": null, + "name": "config.content_type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header.", + "enum": null, + "name": "config.secret", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", + "enum": null, + "name": "config.insecure_ssl", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for.", + "enum": null, + "name": "events", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "enum": null, + "name": "active", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get single hook", + "scope": "orgs", + "id": "getHook", + "method": "GET", + "url": "/orgs/{org}/hooks/{hook_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a hook", + "scope": "orgs", + "id": "updateHook", + "method": "PATCH", + "url": "/orgs/{org}/hooks/{hook_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params).", + "enum": null, + "name": "config", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The URL to which the payloads will be delivered.", + "enum": null, + "name": "config.url", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", + "enum": null, + "name": "config.content_type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header.", + "enum": null, + "name": "config.secret", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", + "enum": null, + "name": "config.insecure_ssl", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for.", + "enum": null, + "name": "events", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "enum": null, + "name": "active", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a hook", + "scope": "orgs", + "id": "deleteHook", + "method": "DELETE", + "url": "/orgs/{org}/hooks/{hook_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Ping a hook", + "scope": "orgs", + "id": "pingHook", + "method": "POST", + "url": "/orgs/{org}/hooks/{hook_id}/pings", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Get an organization installation", + "scope": "apps", + "id": "getOrgInstallation", + "method": "GET", + "url": "/orgs/{org}/installation", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get an organization installation", + "scope": "apps", + "id": "findOrgInstallation", + "method": "GET", + "url": "/orgs/{org}/installation", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get interaction restrictions for an organization", + "scope": "interactions", + "id": "getRestrictionsForOrg", + "method": "GET", + "url": "/orgs/{org}/interaction-limits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add or update interaction restrictions for an organization", + "scope": "interactions", + "id": "addOrUpdateRestrictionsForOrg", + "method": "PUT", + "url": "/orgs/{org}/interaction-limits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`.", + "enum": ["existing_users", "contributors_only", "collaborators_only"], + "name": "limit", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove interaction restrictions for an organization", + "scope": "interactions", + "id": "removeRestrictionsForOrg", + "method": "DELETE", + "url": "/orgs/{org}/interaction-limits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "List pending organization invitations", + "scope": "orgs", + "id": "listPendingInvitations", + "method": "GET", + "url": "/orgs/{org}/invitations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create organization invitation", + "scope": "orgs", + "id": "createInvitation", + "method": "POST", + "url": "/orgs/{org}/invitations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required unless you provide `email`**. GitHub user ID for the person you are inviting.", + "enum": null, + "name": "invitee_id", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user.", + "enum": null, + "name": "email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specify role for new member. Can be one of: \n\\* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. \n\\* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. \n\\* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization.", + "enum": ["admin", "direct_member", "billing_manager"], + "name": "role", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specify IDs for the teams you want to invite new members to.", + "enum": null, + "name": "team_ids", + "type": "integer[]", + "required": false + } + ] + }, + { + "name": "List organization invitation teams", + "scope": "orgs", + "id": "listInvitationTeams", + "method": "GET", + "url": "/orgs/{org}/invitations/{invitation_id}/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "invitation_id parameter", + "enum": null, + "name": "invitation_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List all issues for a given organization assigned to the authenticated user", + "scope": "issues", + "id": "listForOrg", + "method": "GET", + "url": "/orgs/{org}/issues", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "name": "filter", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of comma separated label names. Example: `bug,ui,@high`", + "enum": null, + "name": "labels", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "enum": ["created", "updated", "comments"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The direction of the sort. Can be either `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Members list", + "scope": "orgs", + "id": "listMembers", + "method": "GET", + "url": "/orgs/{org}/members", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filter members returned in the list. Can be one of: \n\\* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. \n\\* `all` - All members the authenticated user can see.", + "enum": ["2fa_disabled", "all"], + "name": "filter", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filter members returned by their role. Can be one of: \n\\* `all` - All members of the organization, regardless of role. \n\\* `admin` - Organization owners. \n\\* `member` - Non-owner organization members.", + "enum": ["all", "admin", "member"], + "name": "role", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check membership", + "scope": "orgs", + "id": "checkMembership", + "method": "GET", + "url": "/orgs/{org}/members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove a member", + "scope": "orgs", + "id": "removeMember", + "method": "DELETE", + "url": "/orgs/{org}/members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get organization membership", + "scope": "orgs", + "id": "getMembership", + "method": "GET", + "url": "/orgs/{org}/memberships/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add or update organization membership", + "scope": "orgs", + "id": "addOrUpdateMembership", + "method": "PUT", + "url": "/orgs/{org}/memberships/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The role to give the user in the organization. Can be one of: \n\\* `admin` - The user will become an owner of the organization. \n\\* `member` - The user will become a non-owner member of the organization.", + "enum": ["admin", "member"], + "name": "role", + "type": "string", + "required": false + } + ] + }, + { + "name": "Remove organization membership", + "scope": "orgs", + "id": "removeMembership", + "method": "DELETE", + "url": "/orgs/{org}/memberships/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Start an organization migration", + "scope": "migrations", + "id": "startForOrg", + "method": "POST", + "url": "/orgs/{org}/migrations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of arrays indicating which repositories should be migrated.", + "enum": null, + "name": "repositories", + "type": "string[]", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates whether repositories should be locked (to prevent manipulation) while migrating data.", + "enum": null, + "name": "lock_repositories", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).", + "enum": null, + "name": "exclude_attachments", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get a list of organization migrations", + "scope": "migrations", + "id": "listForOrg", + "method": "GET", + "url": "/orgs/{org}/migrations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get the status of an organization migration", + "scope": "migrations", + "id": "getStatusForOrg", + "method": "GET", + "url": "/orgs/{org}/migrations/{migration_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Download an organization migration archive", + "scope": "migrations", + "id": "getArchiveForOrg", + "method": "GET", + "url": "/orgs/{org}/migrations/{migration_id}/archive", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Delete an organization migration archive", + "scope": "migrations", + "id": "deleteArchiveForOrg", + "method": "DELETE", + "url": "/orgs/{org}/migrations/{migration_id}/archive", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Unlock an organization repository", + "scope": "migrations", + "id": "unlockRepoForOrg", + "method": "DELETE", + "url": "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo_name parameter", + "enum": null, + "name": "repo_name", + "type": "string", + "required": true + } + ] + }, + { + "name": "List outside collaborators", + "scope": "orgs", + "id": "listOutsideCollaborators", + "method": "GET", + "url": "/orgs/{org}/outside_collaborators", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filter the list of outside collaborators. Can be one of: \n\\* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. \n\\* `all`: All outside collaborators.", + "enum": ["2fa_disabled", "all"], + "name": "filter", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Remove outside collaborator", + "scope": "orgs", + "id": "removeOutsideCollaborator", + "method": "DELETE", + "url": "/orgs/{org}/outside_collaborators/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Convert member to outside collaborator", + "scope": "orgs", + "id": "convertMemberToOutsideCollaborator", + "method": "PUT", + "url": "/orgs/{org}/outside_collaborators/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List organization projects", + "scope": "projects", + "id": "listForOrg", + "method": "GET", + "url": "/orgs/{org}/projects", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create an organization project", + "scope": "projects", + "id": "createForOrg", + "method": "POST", + "url": "/orgs/{org}/projects", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the project.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The description of the project.", + "enum": null, + "name": "body", + "type": "string", + "required": false + } + ] + }, + { + "name": "Public members list", + "scope": "orgs", + "id": "listPublicMembers", + "method": "GET", + "url": "/orgs/{org}/public_members", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check public membership", + "scope": "orgs", + "id": "checkPublicMembership", + "method": "GET", + "url": "/orgs/{org}/public_members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Publicize a user's membership", + "scope": "orgs", + "id": "publicizeMembership", + "method": "PUT", + "url": "/orgs/{org}/public_members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Conceal a user's membership", + "scope": "orgs", + "id": "concealMembership", + "method": "DELETE", + "url": "/orgs/{org}/public_members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List organization repositories", + "scope": "repos", + "id": "listForOrg", + "method": "GET", + "url": "/orgs/{org}/repos", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`.", + "enum": ["all", "public", "private", "forks", "sources", "member"], + "name": "type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", + "enum": ["created", "updated", "pushed", "full_name"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc`", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Creates a new repository in the specified organization", + "scope": "repos", + "id": "createInOrg", + "method": "POST", + "url": "/orgs/{org}/repos", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the repository.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the repository.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL with more information about the repository.", + "enum": null, + "name": "homepage", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account.", + "enum": null, + "name": "private", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to enable issues for this repository or `false` to disable them.", + "enum": null, + "name": "has_issues", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "has_projects", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to enable the wiki for this repository or `false` to disable it.", + "enum": null, + "name": "has_wiki", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to make this repo available as a template repository or `false` to prevent it.", + "enum": null, + "name": "is_template", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "team_id", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Pass `true` to create an initial commit with empty README.", + "enum": null, + "name": "auto_init", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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\".", + "enum": null, + "name": "gitignore_template", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\".", + "enum": null, + "name": "license_template", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", + "enum": null, + "name": "allow_squash_merge", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", + "enum": null, + "name": "allow_merge_commit", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", + "enum": null, + "name": "allow_rebase_merge", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "List IdP groups in an organization", + "scope": "teams", + "id": "listIdPGroupsForOrg", + "method": "GET", + "url": "/orgs/{org}/team-sync/groups", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List teams", + "scope": "teams", + "id": "list", + "method": "GET", + "url": "/orgs/{org}/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create team", + "scope": "teams", + "id": "create", + "method": "POST", + "url": "/orgs/{org}/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the team.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The description of the team.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The logins of organization members to add as maintainers of the team.", + "enum": null, + "name": "maintainers", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to.", + "enum": null, + "name": "repo_names", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The level of privacy this team should have. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \nDefault: `secret` \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization. \nDefault for child team: `closed` \n**Note**: You must pass the `hellcat-preview` media type to set privacy default to `closed` for child teams.", + "enum": ["secret", "closed"], + "name": "privacy", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", + "enum": ["pull", "push", "admin"], + "name": "permission", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter.", + "enum": null, + "name": "parent_team_id", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get team by name", + "scope": "teams", + "id": "getByName", + "method": "GET", + "url": "/orgs/{org}/teams/{team_slug}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_slug parameter", + "enum": null, + "name": "team_slug", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a project card", + "scope": "projects", + "id": "getCard", + "method": "GET", + "url": "/projects/columns/cards/{card_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "card_id parameter", + "enum": null, + "name": "card_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Update a project card", + "scope": "projects", + "id": "updateCard", + "method": "PATCH", + "url": "/projects/columns/cards/{card_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "card_id parameter", + "enum": null, + "name": "card_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`.", + "enum": null, + "name": "note", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card.", + "enum": null, + "name": "archived", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a project card", + "scope": "projects", + "id": "deleteCard", + "method": "DELETE", + "url": "/projects/columns/cards/{card_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "card_id parameter", + "enum": null, + "name": "card_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Move a project card", + "scope": "projects", + "id": "moveCard", + "method": "POST", + "url": "/projects/columns/cards/{card_id}/moves", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "card_id parameter", + "enum": null, + "name": "card_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`.", + "enum": null, + "name": "position", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The `id` value of a column in the same project.", + "enum": null, + "name": "column_id", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a project column", + "scope": "projects", + "id": "getColumn", + "method": "GET", + "url": "/projects/columns/{column_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "column_id parameter", + "enum": null, + "name": "column_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Update a project column", + "scope": "projects", + "id": "updateColumn", + "method": "PATCH", + "url": "/projects/columns/{column_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "column_id parameter", + "enum": null, + "name": "column_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new name of the column.", + "enum": null, + "name": "name", + "type": "string", + "required": true + } + ] + }, + { + "name": "Delete a project column", + "scope": "projects", + "id": "deleteColumn", + "method": "DELETE", + "url": "/projects/columns/{column_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "column_id parameter", + "enum": null, + "name": "column_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List project cards", + "scope": "projects", + "id": "listCards", + "method": "GET", + "url": "/projects/columns/{column_id}/cards", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "column_id parameter", + "enum": null, + "name": "column_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`.", + "enum": ["all", "archived", "not_archived"], + "name": "archived_state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a project card", + "scope": "projects", + "id": "createCard", + "method": "POST", + "url": "/projects/columns/{column_id}/cards", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "column_id parameter", + "enum": null, + "name": "column_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`.", + "enum": null, + "name": "note", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The issue or pull request id you want to associate with this card. You can use the [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. \n**Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`.", + "enum": null, + "name": "content_id", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id.", + "enum": null, + "name": "content_type", + "type": "string", + "required": false + } + ] + }, + { + "name": "Move a project column", + "scope": "projects", + "id": "moveColumn", + "method": "POST", + "url": "/projects/columns/{column_id}/moves", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "column_id parameter", + "enum": null, + "name": "column_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project.", + "enum": null, + "name": "position", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a project", + "scope": "projects", + "id": "get", + "method": "GET", + "url": "/projects/{project_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Update a project", + "scope": "projects", + "id": "update", + "method": "PATCH", + "url": "/projects/{project_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the project.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The description of the project.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "State of the project. Either `open` or `closed`.", + "enum": ["open", "closed"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). \n \n**Note:** Updating a project's `organization_permission` requires `admin` access to the project. \n \nCan be one of: \n\\* `read` - Organization members can read, but not write to or administer this project. \n\\* `write` - Organization members can read and write, but not administer this project. \n\\* `admin` - Organization members can read, write and administer this project. \n\\* `none` - Organization members can only see this project if it is public.", + "enum": null, + "name": "organization_permission", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. \n \nCan be one of: \n\\* `false` - Anyone can see the project. \n\\* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account.", + "enum": null, + "name": "private", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a project", + "scope": "projects", + "id": "delete", + "method": "DELETE", + "url": "/projects/{project_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List collaborators", + "scope": "projects", + "id": "listCollaborators", + "method": "GET", + "url": "/projects/{project_id}/collaborators", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters the collaborators by their affiliation. Can be one of: \n\\* `outside`: Outside collaborators of a project that are not a member of the project's organization. \n\\* `direct`: Collaborators with permissions to a project, regardless of organization membership status. \n\\* `all`: All collaborators the authenticated user can see.", + "enum": ["outside", "direct", "all"], + "name": "affiliation", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Add user as a collaborator", + "scope": "projects", + "id": "addCollaborator", + "method": "PUT", + "url": "/projects/{project_id}/collaborators/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The permission to grant the collaborator. 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://developer.github.com/v3/#http-verbs).\" Can be one of: \n\\* `read` - can read, but not write to or administer this project. \n\\* `write` - can read and write, but not administer this project. \n\\* `admin` - can read, write and administer this project.", + "enum": ["read", "write", "admin"], + "name": "permission", + "type": "string", + "required": false + } + ] + }, + { + "name": "Remove user as a collaborator", + "scope": "projects", + "id": "removeCollaborator", + "method": "DELETE", + "url": "/projects/{project_id}/collaborators/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Review a user's permission level", + "scope": "projects", + "id": "reviewUserPermissionLevel", + "method": "GET", + "url": "/projects/{project_id}/collaborators/{username}/permission", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List project columns", + "scope": "projects", + "id": "listColumns", + "method": "GET", + "url": "/projects/{project_id}/columns", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a project column", + "scope": "projects", + "id": "createColumn", + "method": "POST", + "url": "/projects/{project_id}/columns", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the column.", + "enum": null, + "name": "name", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get your current rate limit status", + "scope": "rateLimit", + "id": "get", + "method": "GET", + "url": "/rate_limit", + "parameters": [] + }, + { + "name": "Delete a reaction", + "scope": "reactions", + "id": "delete", + "method": "DELETE", + "url": "/reactions/{reaction_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "reaction_id parameter", + "enum": null, + "name": "reaction_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Get", + "scope": "repos", + "id": "get", + "method": "GET", + "url": "/repos/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Edit", + "scope": "repos", + "id": "update", + "method": "PATCH", + "url": "/repos/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the repository.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the repository.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL with more information about the repository.", + "enum": null, + "name": "homepage", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to make the repository private or `false` to make it public. Creating private repositories requires a paid GitHub account. Default: `false`. \n**Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.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. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.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.", + "enum": null, + "name": "private", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to enable issues for this repository or `false` to disable them.", + "enum": null, + "name": "has_issues", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "has_projects", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to enable the wiki for this repository or `false` to disable it.", + "enum": null, + "name": "has_wiki", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to make this repo available as a template repository or `false` to prevent it.", + "enum": null, + "name": "is_template", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Updates the default branch for this repository.", + "enum": null, + "name": "default_branch", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", + "enum": null, + "name": "allow_squash_merge", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", + "enum": null, + "name": "allow_merge_commit", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", + "enum": null, + "name": "allow_rebase_merge", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "`true` to archive this repository. **Note**: You cannot unarchive repositories through the API.", + "enum": null, + "name": "archived", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a repository", + "scope": "repos", + "id": "delete", + "method": "DELETE", + "url": "/repos/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List assignees", + "scope": "issues", + "id": "listAssignees", + "method": "GET", + "url": "/repos/{owner}/{repo}/assignees", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check assignee", + "scope": "issues", + "id": "checkAssignee", + "method": "GET", + "url": "/repos/{owner}/{repo}/assignees/{assignee}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "assignee parameter", + "enum": null, + "name": "assignee", + "type": "string", + "required": true + } + ] + }, + { + "name": "Enable automated security fixes", + "scope": "repos", + "id": "enableAutomatedSecurityFixes", + "method": "PUT", + "url": "/repos/{owner}/{repo}/automated-security-fixes", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Disable automated security fixes", + "scope": "repos", + "id": "disableAutomatedSecurityFixes", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/automated-security-fixes", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List branches", + "scope": "repos", + "id": "listBranches", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches.", + "enum": null, + "name": "protected", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get branch", + "scope": "repos", + "id": "getBranch", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get branch protection", + "scope": "repos", + "id": "getBranchProtection", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update branch protection", + "scope": "repos", + "id": "updateBranchProtection", + "method": "PUT", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": true, + "deprecated": null, + "description": "Require status checks to pass before merging. Set to `null` to disable.", + "enum": null, + "name": "required_status_checks", + "type": "object", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Require branches to be up to date before merging.", + "enum": null, + "name": "required_status_checks.strict", + "type": "boolean", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of status checks to require in order to merge into this branch", + "enum": null, + "name": "required_status_checks.contexts", + "type": "string[]", + "required": true + }, + { + "alias": null, + "allowNull": true, + "deprecated": null, + "description": "Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable.", + "enum": null, + "name": "enforce_admins", + "type": "boolean", + "required": true + }, + { + "alias": null, + "allowNull": true, + "deprecated": null, + "description": "Require at least one approving review on a pull request, before merging. Set to `null` to disable.", + "enum": null, + "name": "required_pull_request_reviews", + "type": "object", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specify which users and teams 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.", + "enum": null, + "name": "required_pull_request_reviews.dismissal_restrictions", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of user `login`s with dismissal access", + "enum": null, + "name": "required_pull_request_reviews.dismissal_restrictions.users", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of team `slug`s with dismissal access", + "enum": null, + "name": "required_pull_request_reviews.dismissal_restrictions.teams", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.", + "enum": null, + "name": "required_pull_request_reviews.dismiss_stale_reviews", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them.", + "enum": null, + "name": "required_pull_request_reviews.require_code_owner_reviews", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6.", + "enum": null, + "name": "required_pull_request_reviews.required_approving_review_count", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": true, + "deprecated": null, + "description": "Restrict who can push to this branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable.", + "enum": null, + "name": "restrictions", + "type": "object", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of user `login`s with push access", + "enum": null, + "name": "restrictions.users", + "type": "string[]", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of team `slug`s with push access", + "enum": null, + "name": "restrictions.teams", + "type": "string[]", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of app `slug`s with push access", + "enum": null, + "name": "restrictions.apps", + "type": "string[]", + "required": false + } + ] + }, + { + "name": "Remove branch protection", + "scope": "repos", + "id": "removeBranchProtection", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get admin enforcement of protected branch", + "scope": "repos", + "id": "getProtectedBranchAdminEnforcement", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add admin enforcement of protected branch", + "scope": "repos", + "id": "addProtectedBranchAdminEnforcement", + "method": "POST", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove admin enforcement of protected branch", + "scope": "repos", + "id": "removeProtectedBranchAdminEnforcement", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get pull request review enforcement of protected branch", + "scope": "repos", + "id": "getProtectedBranchPullRequestReviewEnforcement", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update pull request review enforcement of protected branch", + "scope": "repos", + "id": "updateProtectedBranchPullRequestReviewEnforcement", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specify which users and teams 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.", + "enum": null, + "name": "dismissal_restrictions", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of user `login`s with dismissal access", + "enum": null, + "name": "dismissal_restrictions.users", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of team `slug`s with dismissal access", + "enum": null, + "name": "dismissal_restrictions.teams", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.", + "enum": null, + "name": "dismiss_stale_reviews", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed.", + "enum": null, + "name": "require_code_owner_reviews", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6.", + "enum": null, + "name": "required_approving_review_count", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Remove pull request review enforcement of protected branch", + "scope": "repos", + "id": "removeProtectedBranchPullRequestReviewEnforcement", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get required signatures of protected branch", + "scope": "repos", + "id": "getProtectedBranchRequiredSignatures", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add required signatures of protected branch", + "scope": "repos", + "id": "addProtectedBranchRequiredSignatures", + "method": "POST", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove required signatures of protected branch", + "scope": "repos", + "id": "removeProtectedBranchRequiredSignatures", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get required status checks of protected branch", + "scope": "repos", + "id": "getProtectedBranchRequiredStatusChecks", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update required status checks of protected branch", + "scope": "repos", + "id": "updateProtectedBranchRequiredStatusChecks", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Require branches to be up to date before merging.", + "enum": null, + "name": "strict", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The list of status checks to require in order to merge into this branch", + "enum": null, + "name": "contexts", + "type": "string[]", + "required": false + } + ] + }, + { + "name": "Remove required status checks of protected branch", + "scope": "repos", + "id": "removeProtectedBranchRequiredStatusChecks", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "List required status checks contexts of protected branch", + "scope": "repos", + "id": "listProtectedBranchRequiredStatusChecksContexts", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Replace required status checks contexts of protected branch", + "scope": "repos", + "id": "replaceProtectedBranchRequiredStatusChecksContexts", + "method": "PUT", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "contexts parameter", + "enum": null, + "name": "contexts", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Add required status checks contexts of protected branch", + "scope": "repos", + "id": "addProtectedBranchRequiredStatusChecksContexts", + "method": "POST", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "contexts parameter", + "enum": null, + "name": "contexts", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Remove required status checks contexts of protected branch", + "scope": "repos", + "id": "removeProtectedBranchRequiredStatusChecksContexts", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "contexts parameter", + "enum": null, + "name": "contexts", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Get restrictions of protected branch", + "scope": "repos", + "id": "getProtectedBranchRestrictions", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove restrictions of protected branch", + "scope": "repos", + "id": "removeProtectedBranchRestrictions", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get apps with access to protected branch", + "scope": "repos", + "id": "getAppsWithAccessToProtectedBranch", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get apps with access to protected branch", + "scope": "repos", + "id": "listAppsWithAccessToProtectedBranch", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Replace app restrictions of protected branch", + "scope": "repos", + "id": "replaceProtectedBranchAppRestrictions", + "method": "PUT", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "apps parameter", + "enum": null, + "name": "apps", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Add app restrictions of protected branch", + "scope": "repos", + "id": "addProtectedBranchAppRestrictions", + "method": "POST", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "apps parameter", + "enum": null, + "name": "apps", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Remove app restrictions of protected branch", + "scope": "repos", + "id": "removeProtectedBranchAppRestrictions", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "apps parameter", + "enum": null, + "name": "apps", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Get teams with access to protected branch", + "scope": "repos", + "id": "getTeamsWithAccessToProtectedBranch", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get teams with access to protected branch", + "scope": "repos", + "id": "listProtectedBranchTeamRestrictions", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get teams with access to protected branch", + "scope": "repos", + "id": "listTeamsWithAccessToProtectedBranch", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Replace team restrictions of protected branch", + "scope": "repos", + "id": "replaceProtectedBranchTeamRestrictions", + "method": "PUT", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "teams parameter", + "enum": null, + "name": "teams", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Add team restrictions of protected branch", + "scope": "repos", + "id": "addProtectedBranchTeamRestrictions", + "method": "POST", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "teams parameter", + "enum": null, + "name": "teams", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Remove team restrictions of protected branch", + "scope": "repos", + "id": "removeProtectedBranchTeamRestrictions", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "teams parameter", + "enum": null, + "name": "teams", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Get users with access to protected branch", + "scope": "repos", + "id": "getUsersWithAccessToProtectedBranch", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get users with access to protected branch", + "scope": "repos", + "id": "listProtectedBranchUserRestrictions", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get users with access to protected branch", + "scope": "repos", + "id": "listUsersWithAccessToProtectedBranch", + "method": "GET", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + } + ] + }, + { + "name": "Replace user restrictions of protected branch", + "scope": "repos", + "id": "replaceProtectedBranchUserRestrictions", + "method": "PUT", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "users parameter", + "enum": null, + "name": "users", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Add user restrictions of protected branch", + "scope": "repos", + "id": "addProtectedBranchUserRestrictions", + "method": "POST", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "users parameter", + "enum": null, + "name": "users", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Remove user restrictions of protected branch", + "scope": "repos", + "id": "removeProtectedBranchUserRestrictions", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "branch parameter", + "enum": null, + "name": "branch", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "users parameter", + "enum": null, + "name": "users", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Create a check run", + "scope": "checks", + "id": "create", + "method": "POST", + "url": "/repos/{owner}/{repo}/check-runs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the check. For example, \"code-coverage\".", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA of the commit.", + "enum": null, + "name": "head_sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The URL of the integrator's site that has the full details of the check.", + "enum": null, + "name": "details_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A reference for the run on the integrator's system.", + "enum": null, + "name": "external_id", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The current status. Can be one of `queued`, `in_progress`, or `completed`.", + "enum": ["queued", "in_progress", "completed"], + "name": "status", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "started_at", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`.", + "enum": [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + "name": "conclusion", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "completed_at", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description.", + "enum": null, + "name": "output", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the check run.", + "enum": null, + "name": "output.title", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The summary of the check run. This parameter supports Markdown.", + "enum": null, + "name": "output.summary", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The details of the check run. This parameter supports Markdown.", + "enum": null, + "name": "output.text", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/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. For details about how you can view annotations on GitHub, see \"[About status checks](https://help.github.com/articles/about-status-checks#checks)\". See the [`annotations` object](https://developer.github.com/v3/checks/runs/#annotations-object) description for details about how to use this parameter.", + "enum": null, + "name": "output.annotations", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`.", + "enum": null, + "name": "output.annotations[].path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The start line of the annotation.", + "enum": null, + "name": "output.annotations[].start_line", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The end line of the annotation.", + "enum": null, + "name": "output.annotations[].end_line", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "output.annotations[].start_column", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "output.annotations[].end_column", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The level of the annotation. Can be one of `notice`, `warning`, or `failure`.", + "enum": ["notice", "warning", "failure"], + "name": "output.annotations[].annotation_level", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB.", + "enum": null, + "name": "output.annotations[].message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title that represents the annotation. The maximum size is 255 characters.", + "enum": null, + "name": "output.annotations[].title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Details about this annotation. The maximum size is 64 KB.", + "enum": null, + "name": "output.annotations[].raw_details", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://developer.github.com/v3/checks/runs/#images-object) description for details.", + "enum": null, + "name": "output.images", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The alternative text for the image.", + "enum": null, + "name": "output.images[].alt", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The full URL of the image.", + "enum": null, + "name": "output.images[].image_url", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short image description.", + "enum": null, + "name": "output.images[].caption", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions).\" To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions).\"", + "enum": null, + "name": "actions", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters.", + "enum": null, + "name": "actions[].label", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short explanation of what this action would do. The maximum size is 40 characters.", + "enum": null, + "name": "actions[].description", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A reference for the action on the integrator's system. The maximum size is 20 characters.", + "enum": null, + "name": "actions[].identifier", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update a check run", + "scope": "checks", + "id": "update", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/check-runs/{check_run_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "check_run_id parameter", + "enum": null, + "name": "check_run_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the check. For example, \"code-coverage\".", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The URL of the integrator's site that has the full details of the check.", + "enum": null, + "name": "details_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A reference for the run on the integrator's system.", + "enum": null, + "name": "external_id", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "enum": null, + "name": "started_at", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The current status. Can be one of `queued`, `in_progress`, or `completed`.", + "enum": ["queued", "in_progress", "completed"], + "name": "status", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`.", + "enum": [ + "success", + "failure", + "neutral", + "cancelled", + "timed_out", + "action_required" + ], + "name": "conclusion", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "completed_at", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description.", + "enum": null, + "name": "output", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required**.", + "enum": null, + "name": "output.title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can contain Markdown.", + "enum": null, + "name": "output.summary", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can contain Markdown.", + "enum": null, + "name": "output.text", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/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. For details about annotations in the UI, see \"[About status checks](https://help.github.com/articles/about-status-checks#checks)\". See the [`annotations` object](https://developer.github.com/v3/checks/runs/#annotations-object-1) description for details.", + "enum": null, + "name": "output.annotations", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The path of the file to add an annotation to. For example, `assets/css/main.css`.", + "enum": null, + "name": "output.annotations[].path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The start line of the annotation.", + "enum": null, + "name": "output.annotations[].start_line", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The end line of the annotation.", + "enum": null, + "name": "output.annotations[].end_line", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "output.annotations[].start_column", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "output.annotations[].end_column", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The level of the annotation. Can be one of `notice`, `warning`, or `failure`.", + "enum": ["notice", "warning", "failure"], + "name": "output.annotations[].annotation_level", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the feedback for these lines of code. The maximum size is 64 KB.", + "enum": null, + "name": "output.annotations[].message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title that represents the annotation. The maximum size is 255 characters.", + "enum": null, + "name": "output.annotations[].title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Details about this annotation. The maximum size is 64 KB.", + "enum": null, + "name": "output.annotations[].raw_details", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://developer.github.com/v3/checks/runs/#annotations-object-1) description for details.", + "enum": null, + "name": "output.images", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The alternative text for the image.", + "enum": null, + "name": "output.images[].alt", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The full URL of the image.", + "enum": null, + "name": "output.images[].image_url", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short image description.", + "enum": null, + "name": "output.images[].caption", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions).\"", + "enum": null, + "name": "actions", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters.", + "enum": null, + "name": "actions[].label", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short explanation of what this action would do. The maximum size is 40 characters.", + "enum": null, + "name": "actions[].description", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A reference for the action on the integrator's system. The maximum size is 20 characters.", + "enum": null, + "name": "actions[].identifier", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a single check run", + "scope": "checks", + "id": "get", + "method": "GET", + "url": "/repos/{owner}/{repo}/check-runs/{check_run_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "check_run_id parameter", + "enum": null, + "name": "check_run_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List annotations for a check run", + "scope": "checks", + "id": "listAnnotations", + "method": "GET", + "url": "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "check_run_id parameter", + "enum": null, + "name": "check_run_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a check suite", + "scope": "checks", + "id": "createSuite", + "method": "POST", + "url": "/repos/{owner}/{repo}/check-suites", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The sha of the head commit.", + "enum": null, + "name": "head_sha", + "type": "string", + "required": true + } + ] + }, + { + "name": "Set preferences for check suites on a repository", + "scope": "checks", + "id": "setSuitesPreferences", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/check-suites/preferences", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details.", + "enum": null, + "name": "auto_trigger_checks", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The `id` of the GitHub App.", + "enum": null, + "name": "auto_trigger_checks[].app_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them.", + "enum": null, + "name": "auto_trigger_checks[].setting", + "type": "boolean", + "required": true + } + ] + }, + { + "name": "Get a single check suite", + "scope": "checks", + "id": "getSuite", + "method": "GET", + "url": "/repos/{owner}/{repo}/check-suites/{check_suite_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "check_suite_id parameter", + "enum": null, + "name": "check_suite_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List check runs in a check suite", + "scope": "checks", + "id": "listForSuite", + "method": "GET", + "url": "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "check_suite_id parameter", + "enum": null, + "name": "check_suite_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns check runs with the specified `name`.", + "enum": null, + "name": "check_name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`.", + "enum": ["queued", "in_progress", "completed"], + "name": "status", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.", + "enum": ["latest", "all"], + "name": "filter", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Rerequest check suite", + "scope": "checks", + "id": "rerequestSuite", + "method": "POST", + "url": "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "check_suite_id parameter", + "enum": null, + "name": "check_suite_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List collaborators", + "scope": "repos", + "id": "listCollaborators", + "method": "GET", + "url": "/repos/{owner}/{repo}/collaborators", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filter collaborators returned by their affiliation. Can be one of: \n\\* `outside`: All outside collaborators of an organization-owned repository. \n\\* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. \n\\* `all`: All collaborators the authenticated user can see.", + "enum": ["outside", "direct", "all"], + "name": "affiliation", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check if a user is a collaborator", + "scope": "repos", + "id": "checkCollaborator", + "method": "GET", + "url": "/repos/{owner}/{repo}/collaborators/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add user as a collaborator", + "scope": "repos", + "id": "addCollaborator", + "method": "PUT", + "url": "/repos/{owner}/{repo}/collaborators/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: \n\\* `pull` - can pull, but not push to or administer this repository. \n\\* `push` - can pull and push, but not administer this repository. \n\\* `admin` - can pull, push and administer this repository.", + "enum": ["pull", "push", "admin"], + "name": "permission", + "type": "string", + "required": false + } + ] + }, + { + "name": "Remove user as a collaborator", + "scope": "repos", + "id": "removeCollaborator", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/collaborators/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Review a user's permission level", + "scope": "repos", + "id": "getCollaboratorPermissionLevel", + "method": "GET", + "url": "/repos/{owner}/{repo}/collaborators/{username}/permission", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List commit comments for a repository", + "scope": "repos", + "id": "listCommitComments", + "method": "GET", + "url": "/repos/{owner}/{repo}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single commit comment", + "scope": "repos", + "id": "getCommitComment", + "method": "GET", + "url": "/repos/{owner}/{repo}/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Update a commit comment", + "scope": "repos", + "id": "updateCommitComment", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the comment", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Delete a commit comment", + "scope": "repos", + "id": "deleteCommitComment", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List reactions for a commit comment", + "scope": "reactions", + "id": "listForCommitComment", + "method": "GET", + "url": "/repos/{owner}/{repo}/comments/{comment_id}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create reaction for a commit comment", + "scope": "reactions", + "id": "createForCommitComment", + "method": "POST", + "url": "/repos/{owner}/{repo}/comments/{comment_id}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": true + } + ] + }, + { + "name": "List commits on a repository", + "scope": "repos", + "id": "listCommits", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`).", + "enum": null, + "name": "sha", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only commits containing this file path will be returned.", + "enum": null, + "name": "path", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "GitHub login or email address by which to filter by commit author.", + "enum": null, + "name": "author", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only commits after 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`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "until", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List branches for HEAD commit", + "scope": "repos", + "id": "listBranchesForHeadCommit", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "commit_sha parameter", + "enum": null, + "name": "commit_sha", + "type": "string", + "required": true + } + ] + }, + { + "name": "List comments for a single commit", + "scope": "repos", + "id": "listCommentsForCommit", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{commit_sha}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "commit_sha parameter", + "enum": null, + "name": "commit_sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "commit_sha", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "ref", + "type": null, + "required": null + } + ] + }, + { + "name": "Create a commit comment", + "scope": "repos", + "id": "createCommitComment", + "method": "POST", + "url": "/repos/{owner}/{repo}/commits/{commit_sha}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "commit_sha parameter", + "enum": null, + "name": "commit_sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the comment.", + "enum": null, + "name": "body", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Relative path of the file to comment on.", + "enum": null, + "name": "path", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Line index in the diff to comment on.", + "enum": null, + "name": "position", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Deprecated**. Use **position** parameter instead. Line number in the file to comment on.", + "enum": null, + "name": "line", + "type": "integer", + "required": false + }, + { + "alias": "commit_sha", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "sha", + "type": null, + "required": null + } + ] + }, + { + "name": "List pull requests associated with commit", + "scope": "repos", + "id": "listPullRequestsAssociatedWithCommit", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "commit_sha parameter", + "enum": null, + "name": "commit_sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single commit", + "scope": "repos", + "id": "getCommit", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{ref}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": "ref", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "sha", + "type": null, + "required": null + }, + { + "alias": "ref", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "commit_sha", + "type": null, + "required": null + } + ] + }, + { + "name": "List check runs for a specific ref", + "scope": "checks", + "id": "listForRef", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{ref}/check-runs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns check runs with the specified `name`.", + "enum": null, + "name": "check_name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`.", + "enum": ["queued", "in_progress", "completed"], + "name": "status", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.", + "enum": ["latest", "all"], + "name": "filter", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List check suites for a specific ref", + "scope": "checks", + "id": "listSuitesForRef", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{ref}/check-suites", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters check suites by GitHub App `id`.", + "enum": null, + "name": "app_id", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/).", + "enum": null, + "name": "check_name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get the combined status for a specific ref", + "scope": "repos", + "id": "getCombinedStatusForRef", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{ref}/status", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + } + ] + }, + { + "name": "List statuses for a specific ref", + "scope": "repos", + "id": "listStatusesForRef", + "method": "GET", + "url": "/repos/{owner}/{repo}/commits/{ref}/statuses", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get the contents of a repository's code of conduct", + "scope": "codesOfConduct", + "id": "getForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/community/code_of_conduct", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Retrieve community profile metrics", + "scope": "repos", + "id": "retrieveCommunityProfileMetrics", + "method": "GET", + "url": "/repos/{owner}/{repo}/community/profile", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Compare two commits", + "scope": "repos", + "id": "compareCommits", + "method": "GET", + "url": "/repos/{owner}/{repo}/compare/{base}...{head}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "base parameter", + "enum": null, + "name": "base", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "head parameter", + "enum": null, + "name": "head", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get contents", + "scope": "repos", + "id": "getContents", + "method": "GET", + "url": "/repos/{owner}/{repo}/contents/{path}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "path parameter", + "enum": null, + "name": "path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)", + "enum": null, + "name": "ref", + "type": "string", + "required": false + } + ] + }, + { + "name": "Create or update a file", + "scope": "repos", + "id": "createOrUpdateFile", + "method": "PUT", + "url": "/repos/{owner}/{repo}/contents/{path}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "path parameter", + "enum": null, + "name": "path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The commit message.", + "enum": null, + "name": "message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new file content, using Base64 encoding.", + "enum": null, + "name": "content", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required if you are updating a file**. The blob SHA of the file being replaced.", + "enum": null, + "name": "sha", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The branch name. Default: the repository’s default branch (usually `master`)", + "enum": null, + "name": "branch", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The person that committed the file. Default: the authenticated user.", + "enum": null, + "name": "committer", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "committer.name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "committer.email", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.", + "enum": null, + "name": "author", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "author.name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "author.email", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create or update a file", + "scope": "repos", + "id": "createFile", + "method": "PUT", + "url": "/repos/{owner}/{repo}/contents/{path}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "path parameter", + "enum": null, + "name": "path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The commit message.", + "enum": null, + "name": "message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new file content, using Base64 encoding.", + "enum": null, + "name": "content", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required if you are updating a file**. The blob SHA of the file being replaced.", + "enum": null, + "name": "sha", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The branch name. Default: the repository’s default branch (usually `master`)", + "enum": null, + "name": "branch", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The person that committed the file. Default: the authenticated user.", + "enum": null, + "name": "committer", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "committer.name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "committer.email", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.", + "enum": null, + "name": "author", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "author.name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "author.email", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create or update a file", + "scope": "repos", + "id": "updateFile", + "method": "PUT", + "url": "/repos/{owner}/{repo}/contents/{path}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "path parameter", + "enum": null, + "name": "path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The commit message.", + "enum": null, + "name": "message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new file content, using Base64 encoding.", + "enum": null, + "name": "content", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required if you are updating a file**. The blob SHA of the file being replaced.", + "enum": null, + "name": "sha", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The branch name. Default: the repository’s default branch (usually `master`)", + "enum": null, + "name": "branch", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The person that committed the file. Default: the authenticated user.", + "enum": null, + "name": "committer", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "committer.name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "committer.email", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.", + "enum": null, + "name": "author", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "author.name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.", + "enum": null, + "name": "author.email", + "type": "string", + "required": true + } + ] + }, + { + "name": "Delete a file", + "scope": "repos", + "id": "deleteFile", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/contents/{path}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "path parameter", + "enum": null, + "name": "path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The commit message.", + "enum": null, + "name": "message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The blob SHA of the file being replaced.", + "enum": null, + "name": "sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The branch name. Default: the repository’s default branch (usually `master`)", + "enum": null, + "name": "branch", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "object containing information about the committer.", + "enum": null, + "name": "committer", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author (or committer) of the commit", + "enum": null, + "name": "committer.name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author (or committer) of the commit", + "enum": null, + "name": "committer.email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "object containing information about the author.", + "enum": null, + "name": "author", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author (or committer) of the commit", + "enum": null, + "name": "author.name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author (or committer) of the commit", + "enum": null, + "name": "author.email", + "type": "string", + "required": false + } + ] + }, + { + "name": "List contributors", + "scope": "repos", + "id": "listContributors", + "method": "GET", + "url": "/repos/{owner}/{repo}/contributors", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Set to `1` or `true` to include anonymous contributors in results.", + "enum": null, + "name": "anon", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List deployments", + "scope": "repos", + "id": "listDeployments", + "method": "GET", + "url": "/repos/{owner}/{repo}/deployments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA recorded at creation time.", + "enum": null, + "name": "sha", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the ref. This can be a branch, tag, or SHA.", + "enum": null, + "name": "ref", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`).", + "enum": null, + "name": "task", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the environment that was deployed to (e.g., `staging` or `production`).", + "enum": null, + "name": "environment", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a deployment", + "scope": "repos", + "id": "createDeployment", + "method": "POST", + "url": "/repos/{owner}/{repo}/deployments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The ref to deploy. This can be a branch, tag, or SHA.", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specifies a task to execute (e.g., `deploy` or `deploy:migrations`).", + "enum": null, + "name": "task", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch.", + "enum": null, + "name": "auto_merge", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [status](https://developer.github.com/v3/repos/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.", + "enum": null, + "name": "required_contexts", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "JSON payload with extra information about the deployment.", + "enum": null, + "name": "payload", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Name for the target deployment environment (e.g., `production`, `staging`, `qa`).", + "enum": null, + "name": "environment", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Short description of the deployment.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": 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` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type.", + "enum": null, + "name": "transient_environment", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type.", + "enum": null, + "name": "production_environment", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get a single deployment", + "scope": "repos", + "id": "getDeployment", + "method": "GET", + "url": "/repos/{owner}/{repo}/deployments/{deployment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "deployment_id parameter", + "enum": null, + "name": "deployment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List deployment statuses", + "scope": "repos", + "id": "listDeploymentStatuses", + "method": "GET", + "url": "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "deployment_id parameter", + "enum": null, + "name": "deployment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a deployment status", + "scope": "repos", + "id": "createDeploymentStatus", + "method": "POST", + "url": "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "deployment_id parameter", + "enum": null, + "name": "deployment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type.", + "enum": [ + "error", + "failure", + "inactive", + "in_progress", + "queued", + "pending", + "success" + ], + "name": "state", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "target_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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: `\"\"` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type.", + "enum": null, + "name": "log_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the status. The maximum description length is 140 characters.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type.", + "enum": ["production", "staging", "qa"], + "name": "environment", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sets the URL for accessing your environment. Default: `\"\"` \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type.", + "enum": null, + "name": "environment_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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` \n**Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. \n**Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type.", + "enum": null, + "name": "auto_inactive", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get a single deployment status", + "scope": "repos", + "id": "getDeploymentStatus", + "method": "GET", + "url": "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "deployment_id parameter", + "enum": null, + "name": "deployment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "status_id parameter", + "enum": null, + "name": "status_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Create a repository dispatch event", + "scope": "repos", + "id": "createDispatchEvent", + "method": "POST", + "url": "/repos/{owner}/{repo}/dispatches", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required:** A custom webhook event name.", + "enum": null, + "name": "event_type", + "type": "string", + "required": false + } + ] + }, + { + "name": "List downloads for a repository", + "scope": "repos", + "id": "listDownloads", + "method": "GET", + "url": "/repos/{owner}/{repo}/downloads", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single download", + "scope": "repos", + "id": "getDownload", + "method": "GET", + "url": "/repos/{owner}/{repo}/downloads/{download_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "download_id parameter", + "enum": null, + "name": "download_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Delete a download", + "scope": "repos", + "id": "deleteDownload", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/downloads/{download_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "download_id parameter", + "enum": null, + "name": "download_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List repository events", + "scope": "activity", + "id": "listRepoEvents", + "method": "GET", + "url": "/repos/{owner}/{repo}/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List forks", + "scope": "repos", + "id": "listForks", + "method": "GET", + "url": "/repos/{owner}/{repo}/forks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The sort order. Can be either `newest`, `oldest`, or `stargazers`.", + "enum": ["newest", "oldest", "stargazers"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a fork", + "scope": "repos", + "id": "createFork", + "method": "POST", + "url": "/repos/{owner}/{repo}/forks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Optional parameter to specify the organization name if forking into an organization.", + "enum": null, + "name": "organization", + "type": "string", + "required": false + } + ] + }, + { + "name": "Create a blob", + "scope": "git", + "id": "createBlob", + "method": "POST", + "url": "/repos/{owner}/{repo}/git/blobs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new blob's content.", + "enum": null, + "name": "content", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported.", + "enum": null, + "name": "encoding", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a blob", + "scope": "git", + "id": "getBlob", + "method": "GET", + "url": "/repos/{owner}/{repo}/git/blobs/{file_sha}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "file_sha parameter", + "enum": null, + "name": "file_sha", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create a commit", + "scope": "git", + "id": "createCommit", + "method": "POST", + "url": "/repos/{owner}/{repo}/git/commits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The commit message", + "enum": null, + "name": "message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA of the tree object this commit points to", + "enum": null, + "name": "tree", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "parents", + "type": "string[]", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "author", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author (or committer) of the commit", + "enum": null, + "name": "author.name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author (or committer) of the commit", + "enum": null, + "name": "author.email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "author.date", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "committer", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author (or committer) of the commit", + "enum": null, + "name": "committer.name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author (or committer) of the commit", + "enum": null, + "name": "committer.email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "committer.date", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "signature", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a commit", + "scope": "git", + "id": "getCommit", + "method": "GET", + "url": "/repos/{owner}/{repo}/git/commits/{commit_sha}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "commit_sha parameter", + "enum": null, + "name": "commit_sha", + "type": "string", + "required": true + } + ] + }, + { + "name": "List matching references", + "scope": "git", + "id": "listMatchingRefs", + "method": "GET", + "url": "/repos/{owner}/{repo}/git/matching-refs/{ref}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single reference", + "scope": "git", + "id": "getRef", + "method": "GET", + "url": "/repos/{owner}/{repo}/git/ref/{ref}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create a reference", + "scope": "git", + "id": "createRef", + "method": "POST", + "url": "/repos/{owner}/{repo}/git/refs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA1 value for this reference.", + "enum": null, + "name": "sha", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update a reference", + "scope": "git", + "id": "updateRef", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/git/refs/{ref}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA1 value to set this reference to", + "enum": null, + "name": "sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "force", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a reference", + "scope": "git", + "id": "deleteRef", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/git/refs/{ref}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create a tag object", + "scope": "git", + "id": "createTag", + "method": "POST", + "url": "/repos/{owner}/{repo}/git/tags", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The tag's name. This is typically a version (e.g., \"v0.0.1\").", + "enum": null, + "name": "tag", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The tag message.", + "enum": null, + "name": "message", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA of the git object this is tagging.", + "enum": null, + "name": "object", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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": ["commit", "tree", "blob"], + "name": "type", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "An object with information about the individual creating the tag.", + "enum": null, + "name": "tagger", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the author of the tag", + "enum": null, + "name": "tagger.name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The email of the author of the tag", + "enum": null, + "name": "tagger.email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "tagger.date", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a tag", + "scope": "git", + "id": "getTag", + "method": "GET", + "url": "/repos/{owner}/{repo}/git/tags/{tag_sha}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "tag_sha parameter", + "enum": null, + "name": "tag_sha", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create a tree", + "scope": "git", + "id": "createTree", + "method": "POST", + "url": "/repos/{owner}/{repo}/git/trees", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure.", + "enum": null, + "name": "tree", + "type": "object[]", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The file referenced in the tree.", + "enum": null, + "name": "tree[].path", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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": ["100644", "100755", "040000", "160000", "120000"], + "name": "tree[].mode", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `blob`, `tree`, or `commit`.", + "enum": ["blob", "tree", "commit"], + "name": "tree[].type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.", + "enum": null, + "name": "tree[].sha", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": 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`. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.", + "enum": null, + "name": "tree[].content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted.", + "enum": null, + "name": "base_tree", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a tree", + "scope": "git", + "id": "getTree", + "method": "GET", + "url": "/repos/{owner}/{repo}/git/trees/{tree_sha}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "tree_sha parameter", + "enum": null, + "name": "tree_sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "recursive parameter", + "enum": ["1"], + "name": "recursive", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List hooks", + "scope": "repos", + "id": "listHooks", + "method": "GET", + "url": "/repos/{owner}/{repo}/hooks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a hook", + "scope": "repos", + "id": "createHook", + "method": "POST", + "url": "/repos/{owner}/{repo}/hooks", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params).", + "enum": null, + "name": "config", + "type": "object", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The URL to which the payloads will be delivered.", + "enum": null, + "name": "config.url", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", + "enum": null, + "name": "config.content_type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header.", + "enum": null, + "name": "config.secret", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", + "enum": null, + "name": "config.insecure_ssl", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for.", + "enum": null, + "name": "events", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "enum": null, + "name": "active", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get single hook", + "scope": "repos", + "id": "getHook", + "method": "GET", + "url": "/repos/{owner}/{repo}/hooks/{hook_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a hook", + "scope": "repos", + "id": "updateHook", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/hooks/{hook_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params).", + "enum": null, + "name": "config", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The URL to which the payloads will be delivered.", + "enum": null, + "name": "config.url", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.", + "enum": null, + "name": "config.content_type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://developer.github.com/webhooks/#delivery-headers) header.", + "enum": null, + "name": "config.secret", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**", + "enum": null, + "name": "config.insecure_ssl", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events.", + "enum": null, + "name": "events", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines a list of events to be added to the list of events that the Hook triggers for.", + "enum": null, + "name": "add_events", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines a list of events to be removed from the list of events that the Hook triggers for.", + "enum": null, + "name": "remove_events", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.", + "enum": null, + "name": "active", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a hook", + "scope": "repos", + "id": "deleteHook", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/hooks/{hook_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Ping a hook", + "scope": "repos", + "id": "pingHook", + "method": "POST", + "url": "/repos/{owner}/{repo}/hooks/{hook_id}/pings", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Test a push hook", + "scope": "repos", + "id": "testPushHook", + "method": "POST", + "url": "/repos/{owner}/{repo}/hooks/{hook_id}/tests", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "hook_id parameter", + "enum": null, + "name": "hook_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Start an import", + "scope": "migrations", + "id": "startImport", + "method": "PUT", + "url": "/repos/{owner}/{repo}/import", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The URL of the originating repository.", + "enum": null, + "name": "vcs_url", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that 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": ["subversion", "git", "mercurial", "tfvc"], + "name": "vcs", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If authentication is required, the username to provide to `vcs_url`.", + "enum": null, + "name": "vcs_username", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If authentication is required, the password to provide to `vcs_url`.", + "enum": null, + "name": "vcs_password", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "For a tfvc import, the name of the project that is being imported.", + "enum": null, + "name": "tfvc_project", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get import progress", + "scope": "migrations", + "id": "getImportProgress", + "method": "GET", + "url": "/repos/{owner}/{repo}/import", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update existing import", + "scope": "migrations", + "id": "updateImport", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/import", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The username to provide to the originating repository.", + "enum": null, + "name": "vcs_username", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The password to provide to the originating repository.", + "enum": null, + "name": "vcs_password", + "type": "string", + "required": false + } + ] + }, + { + "name": "Cancel an import", + "scope": "migrations", + "id": "cancelImport", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/import", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get commit authors", + "scope": "migrations", + "id": "getCommitAuthors", + "method": "GET", + "url": "/repos/{owner}/{repo}/import/authors", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step.", + "enum": null, + "name": "since", + "type": "string", + "required": false + } + ] + }, + { + "name": "Map a commit author", + "scope": "migrations", + "id": "mapCommitAuthor", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/import/authors/{author_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "author_id parameter", + "enum": null, + "name": "author_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new Git author email.", + "enum": null, + "name": "email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new Git author name.", + "enum": null, + "name": "name", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get large files", + "scope": "migrations", + "id": "getLargeFiles", + "method": "GET", + "url": "/repos/{owner}/{repo}/import/large_files", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Set Git LFS preference", + "scope": "migrations", + "id": "setLfsPreference", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/import/lfs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import).", + "enum": ["opt_in", "opt_out"], + "name": "use_lfs", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a repository installation", + "scope": "apps", + "id": "getRepoInstallation", + "method": "GET", + "url": "/repos/{owner}/{repo}/installation", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a repository installation", + "scope": "apps", + "id": "findRepoInstallation", + "method": "GET", + "url": "/repos/{owner}/{repo}/installation", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get interaction restrictions for a repository", + "scope": "interactions", + "id": "getRestrictionsForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/interaction-limits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add or update interaction restrictions for a repository", + "scope": "interactions", + "id": "addOrUpdateRestrictionsForRepo", + "method": "PUT", + "url": "/repos/{owner}/{repo}/interaction-limits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`.", + "enum": ["existing_users", "contributors_only", "collaborators_only"], + "name": "limit", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove interaction restrictions for a repository", + "scope": "interactions", + "id": "removeRestrictionsForRepo", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/interaction-limits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List invitations for a repository", + "scope": "repos", + "id": "listInvitations", + "method": "GET", + "url": "/repos/{owner}/{repo}/invitations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Delete a repository invitation", + "scope": "repos", + "id": "deleteInvitation", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/invitations/{invitation_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "invitation_id parameter", + "enum": null, + "name": "invitation_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Update a repository invitation", + "scope": "repos", + "id": "updateInvitation", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/invitations/{invitation_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "invitation_id parameter", + "enum": null, + "name": "invitation_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The permissions that the associated user will have on the repository. Valid values are `read`, `write`, and `admin`.", + "enum": ["read", "write", "admin"], + "name": "permissions", + "type": "string", + "required": false + } + ] + }, + { + "name": "List issues for a repository", + "scope": "issues", + "id": "listForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "milestone", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user.", + "enum": null, + "name": "assignee", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The user that created the issue.", + "enum": null, + "name": "creator", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A user that's mentioned in the issue.", + "enum": null, + "name": "mentioned", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of comma separated label names. Example: `bug,ui,@high`", + "enum": null, + "name": "labels", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "enum": ["created", "updated", "comments"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The direction of the sort. Can be either `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create an issue", + "scope": "issues", + "id": "create", + "method": "POST", + "url": "/repos/{owner}/{repo}/issues", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the issue.", + "enum": null, + "name": "title", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the issue.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.**_", + "enum": null, + "name": "assignee", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._", + "enum": null, + "name": "milestone", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": 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._", + "enum": null, + "name": "labels", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": 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._", + "enum": null, + "name": "assignees", + "type": "string[]", + "required": false + } + ] + }, + { + "name": "List comments in a repository", + "scope": "issues", + "id": "listCommentsForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `created` or `updated`.", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `asc` or `desc`. Ignored without the `sort` parameter.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a single comment", + "scope": "issues", + "id": "getComment", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Edit a comment", + "scope": "issues", + "id": "updateComment", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/issues/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the comment.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Delete a comment", + "scope": "issues", + "id": "deleteComment", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/issues/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List reactions for an issue comment", + "scope": "reactions", + "id": "listForIssueComment", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create reaction for an issue comment", + "scope": "reactions", + "id": "createForIssueComment", + "method": "POST", + "url": "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": true + } + ] + }, + { + "name": "List events for a repository", + "scope": "issues", + "id": "listEventsForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single event", + "scope": "issues", + "id": "getEvent", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/events/{event_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "event_id parameter", + "enum": null, + "name": "event_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Get a single issue", + "scope": "issues", + "id": "get", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/{issue_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Edit an issue", + "scope": "issues", + "id": "update", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/issues/{issue_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the issue.", + "enum": null, + "name": "title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the issue.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Login for the user that this issue should be assigned to. **This field is deprecated.**", + "enum": null, + "name": "assignee", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "State of the issue. Either `open` or `closed`.", + "enum": ["open", "closed"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": true, + "deprecated": null, + "description": "The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._", + "enum": null, + "name": "milestone", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": 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. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._", + "enum": null, + "name": "labels", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Logins for Users 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. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._", + "enum": null, + "name": "assignees", + "type": "string[]", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Add assignees to an issue", + "scope": "issues", + "id": "addAssignees", + "method": "POST", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/assignees", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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._", + "enum": null, + "name": "assignees", + "type": "string[]", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Remove assignees from an issue", + "scope": "issues", + "id": "removeAssignees", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/assignees", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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._", + "enum": null, + "name": "assignees", + "type": "string[]", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List comments on an issue", + "scope": "issues", + "id": "listComments", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Create a comment", + "scope": "issues", + "id": "createComment", + "method": "POST", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the comment.", + "enum": null, + "name": "body", + "type": "string", + "required": true + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List events for an issue", + "scope": "issues", + "id": "listEvents", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List labels on an issue", + "scope": "issues", + "id": "listLabelsOnIssue", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Add labels to an issue", + "scope": "issues", + "id": "addLabels", + "method": "POST", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the label to add to the issue. Must contain at least one label. **Note:** 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.", + "enum": null, + "name": "labels", + "type": "string[]", + "required": true + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Replace all labels for an issue", + "scope": "issues", + "id": "replaceLabels", + "method": "PUT", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** 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.", + "enum": null, + "name": "labels", + "type": "string[]", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Remove all labels from an issue", + "scope": "issues", + "id": "removeLabels", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Remove a label from an issue", + "scope": "issues", + "id": "removeLabel", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "name parameter", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Lock an issue", + "scope": "issues", + "id": "lock", + "method": "PUT", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/lock", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \n\\* `off-topic` \n\\* `too heated` \n\\* `resolved` \n\\* `spam`", + "enum": ["off-topic", "too heated", "resolved", "spam"], + "name": "lock_reason", + "type": "string", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Unlock an issue", + "scope": "issues", + "id": "unlock", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/lock", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List reactions for an issue", + "scope": "reactions", + "id": "listForIssue", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Create reaction for an issue", + "scope": "reactions", + "id": "createForIssue", + "method": "POST", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": true + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List events for an issue", + "scope": "issues", + "id": "listEventsForTimeline", + "method": "GET", + "url": "/repos/{owner}/{repo}/issues/{issue_number}/timeline", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "issue_number parameter", + "enum": null, + "name": "issue_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "issue_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List deploy keys", + "scope": "repos", + "id": "listDeployKeys", + "method": "GET", + "url": "/repos/{owner}/{repo}/keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Add a new deploy key", + "scope": "repos", + "id": "addDeployKey", + "method": "POST", + "url": "/repos/{owner}/{repo}/keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A name for the key.", + "enum": null, + "name": "title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the key.", + "enum": null, + "name": "key", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \n \nDeploy 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://help.github.com/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/).\"", + "enum": null, + "name": "read_only", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get a deploy key", + "scope": "repos", + "id": "getDeployKey", + "method": "GET", + "url": "/repos/{owner}/{repo}/keys/{key_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "key_id parameter", + "enum": null, + "name": "key_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Remove a deploy key", + "scope": "repos", + "id": "removeDeployKey", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/keys/{key_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "key_id parameter", + "enum": null, + "name": "key_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List all labels for this repository", + "scope": "issues", + "id": "listLabelsForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a label", + "scope": "issues", + "id": "createLabel", + "method": "POST", + "url": "/repos/{owner}/{repo}/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.com](http://emoji-cheat-sheet.com/).", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.", + "enum": null, + "name": "color", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the label.", + "enum": null, + "name": "description", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a single label", + "scope": "issues", + "id": "getLabel", + "method": "GET", + "url": "/repos/{owner}/{repo}/labels/{name}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "name parameter", + "enum": null, + "name": "name", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update a label", + "scope": "issues", + "id": "updateLabel", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/labels/{name}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "name parameter", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.com](http://emoji-cheat-sheet.com/).", + "enum": null, + "name": "new_name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.", + "enum": null, + "name": "color", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the label.", + "enum": null, + "name": "description", + "type": "string", + "required": false + } + ] + }, + { + "name": "Delete a label", + "scope": "issues", + "id": "deleteLabel", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/labels/{name}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "name parameter", + "enum": null, + "name": "name", + "type": "string", + "required": true + } + ] + }, + { + "name": "List languages", + "scope": "repos", + "id": "listLanguages", + "method": "GET", + "url": "/repos/{owner}/{repo}/languages", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get the contents of a repository's license", + "scope": "licenses", + "id": "getForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/license", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Perform a merge", + "scope": "repos", + "id": "merge", + "method": "POST", + "url": "/repos/{owner}/{repo}/merges", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the base branch that the head will be merged into.", + "enum": null, + "name": "base", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The head to merge. This can be a branch name or a commit SHA1.", + "enum": null, + "name": "head", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Commit message to use for the merge commit. If omitted, a default message will be used.", + "enum": null, + "name": "commit_message", + "type": "string", + "required": false + } + ] + }, + { + "name": "List milestones for a repository", + "scope": "issues", + "id": "listMilestonesForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/milestones", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The state of the milestone. Either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "What to sort results by. Either `due_on` or `completeness`.", + "enum": ["due_on", "completeness"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The direction of the sort. Either `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a milestone", + "scope": "issues", + "id": "createMilestone", + "method": "POST", + "url": "/repos/{owner}/{repo}/milestones", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the milestone.", + "enum": null, + "name": "title", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The state of the milestone. Either `open` or `closed`.", + "enum": ["open", "closed"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A description of the milestone.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "due_on", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a single milestone", + "scope": "issues", + "id": "getMilestone", + "method": "GET", + "url": "/repos/{owner}/{repo}/milestones/{milestone_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "milestone_number parameter", + "enum": null, + "name": "milestone_number", + "type": "integer", + "required": true + }, + { + "alias": "milestone_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Update a milestone", + "scope": "issues", + "id": "updateMilestone", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/milestones/{milestone_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "milestone_number parameter", + "enum": null, + "name": "milestone_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the milestone.", + "enum": null, + "name": "title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The state of the milestone. Either `open` or `closed`.", + "enum": ["open", "closed"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A description of the milestone.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "due_on", + "type": "string", + "required": false + }, + { + "alias": "milestone_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Delete a milestone", + "scope": "issues", + "id": "deleteMilestone", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/milestones/{milestone_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "milestone_number parameter", + "enum": null, + "name": "milestone_number", + "type": "integer", + "required": true + }, + { + "alias": "milestone_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Get labels for every issue in a milestone", + "scope": "issues", + "id": "listLabelsForMilestone", + "method": "GET", + "url": "/repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "milestone_number parameter", + "enum": null, + "name": "milestone_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "milestone_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List your notifications in a repository", + "scope": "activity", + "id": "listNotificationsForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/notifications", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If `true`, show notifications marked as read.", + "enum": null, + "name": "all", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "If `true`, only shows notifications in which the user is directly participating or mentioned.", + "enum": null, + "name": "participating", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only show notifications 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`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "before", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Mark notifications as read in a repository", + "scope": "activity", + "id": "markNotificationsAsReadForRepo", + "method": "PUT", + "url": "/repos/{owner}/{repo}/notifications", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.", + "enum": null, + "name": "last_read_at", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get information about a Pages site", + "scope": "repos", + "id": "getPages", + "method": "GET", + "url": "/repos/{owner}/{repo}/pages", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Enable a Pages site", + "scope": "repos", + "id": "enablePagesSite", + "method": "POST", + "url": "/repos/{owner}/{repo}/pages", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "source parameter", + "enum": null, + "name": "source", + "type": "object", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The repository branch used to publish your [site's source files](https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/). Can be either `master` or `gh-pages`.", + "enum": ["master", "gh-pages"], + "name": "source.branch", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The repository directory that includes the source files for the Pages site. When `branch` is `master`, you can change `path` to `/docs`. When `branch` is `gh-pages`, you are unable to specify a `path` other than `/`.", + "enum": null, + "name": "source.path", + "type": "string", + "required": false + } + ] + }, + { + "name": "Disable a Pages site", + "scope": "repos", + "id": "disablePagesSite", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/pages", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Update information about a Pages site", + "scope": "repos", + "id": "updateInformationAboutPagesSite", + "method": "PUT", + "url": "/repos/{owner}/{repo}/pages", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://help.github.com/articles/using-a-custom-domain-with-github-pages/).\"", + "enum": null, + "name": "cname", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `\"gh-pages\"`, `\"master\"`, and `\"master /docs\"`.", + "enum": ["\"gh-pages\"", "\"master\"", "\"master /docs\""], + "name": "source", + "type": "string", + "required": false + } + ] + }, + { + "name": "Request a page build", + "scope": "repos", + "id": "requestPageBuild", + "method": "POST", + "url": "/repos/{owner}/{repo}/pages/builds", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List Pages builds", + "scope": "repos", + "id": "listPagesBuilds", + "method": "GET", + "url": "/repos/{owner}/{repo}/pages/builds", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get latest Pages build", + "scope": "repos", + "id": "getLatestPagesBuild", + "method": "GET", + "url": "/repos/{owner}/{repo}/pages/builds/latest", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a specific Pages build", + "scope": "repos", + "id": "getPagesBuild", + "method": "GET", + "url": "/repos/{owner}/{repo}/pages/builds/{build_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "build_id parameter", + "enum": null, + "name": "build_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List repository projects", + "scope": "projects", + "id": "listForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/projects", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a repository project", + "scope": "projects", + "id": "createForRepo", + "method": "POST", + "url": "/repos/{owner}/{repo}/projects", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the project.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The description of the project.", + "enum": null, + "name": "body", + "type": "string", + "required": false + } + ] + }, + { + "name": "List pull requests", + "scope": "pulls", + "id": "list", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `open`, `closed`, or `all` to filter by state.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "head", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filter pulls by base branch name. Example: `gh-pages`.", + "enum": null, + "name": "base", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month).", + "enum": ["created", "updated", "popularity", "long-running"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a pull request", + "scope": "pulls", + "id": "create", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the new pull request.", + "enum": null, + "name": "title", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "head", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "base", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the pull request.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.", + "enum": null, + "name": "maintainer_can_modify", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more.", + "enum": null, + "name": "draft", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "List comments in a repository", + "scope": "pulls", + "id": "listCommentsForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be either `created` or `updated` comments.", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be either `asc` or `desc`. Ignored without `sort` parameter.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single comment", + "scope": "pulls", + "id": "getComment", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a comment", + "scope": "pulls", + "id": "updateComment", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/pulls/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The text of the reply to the review comment.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Delete a comment", + "scope": "pulls", + "id": "deleteComment", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/pulls/comments/{comment_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List reactions for a pull request review comment", + "scope": "reactions", + "id": "listForPullRequestReviewComment", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create reaction for a pull request review comment", + "scope": "reactions", + "id": "createForPullRequestReviewComment", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a single pull request", + "scope": "pulls", + "id": "get", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Update a pull request", + "scope": "pulls", + "id": "update", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The title of the pull request.", + "enum": null, + "name": "title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The contents of the pull request.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "State of this Pull Request. Either `open` or `closed`.", + "enum": ["open", "closed"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "base", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.", + "enum": null, + "name": "maintainer_can_modify", + "type": "boolean", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List comments on a pull request", + "scope": "pulls", + "id": "listComments", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be either `created` or `updated` comments.", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be either `asc` or `desc`. Ignored without `sort` parameter.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Create a comment", + "scope": "pulls", + "id": "createComment", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The text of the review comment.", + "enum": null, + "name": "body", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "commit_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The relative path to the file that necessitates a comment.", + "enum": null, + "name": "path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required without `comfort-fade` preview**. 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.", + "enum": null, + "name": "position", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation.", + "enum": ["LEFT", "RIGHT"], + "name": "side", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required with `comfort-fade` preview**. 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.", + "enum": null, + "name": "line", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation.", + "enum": null, + "name": "start_line", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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": ["LEFT", "RIGHT", "side"], + "name": "start_side", + "type": "string", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + }, + { + "alias": null, + "allowNull": null, + "deprecated": true, + "description": "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + "enum": null, + "name": "in_reply_to", + "type": "integer", + "required": null + } + ] + }, + { + "name": "Create a comment", + "scope": "pulls", + "id": "createCommentReply", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The text of the review comment.", + "enum": null, + "name": "body", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": null, + "name": "commit_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The relative path to the file that necessitates a comment.", + "enum": null, + "name": "path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required without `comfort-fade` preview**. 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.", + "enum": null, + "name": "position", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation.", + "enum": ["LEFT", "RIGHT"], + "name": "side", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required with `comfort-fade` preview**. 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.", + "enum": null, + "name": "line", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation.", + "enum": null, + "name": "start_line", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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": ["LEFT", "RIGHT", "side"], + "name": "start_side", + "type": "string", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + }, + { + "alias": null, + "allowNull": null, + "deprecated": true, + "description": "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", + "enum": null, + "name": "in_reply_to", + "type": "integer", + "required": null + } + ] + }, + { + "name": "Create a review comment reply", + "scope": "pulls", + "id": "createReviewCommentReply", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_id parameter", + "enum": null, + "name": "comment_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The text of the review comment.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "List commits on a pull request", + "scope": "pulls", + "id": "listCommits", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/commits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List pull requests files", + "scope": "pulls", + "id": "listFiles", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/files", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Get if a pull request has been merged", + "scope": "pulls", + "id": "checkIfMerged", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/merge", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Merge a pull request (Merge Button)", + "scope": "pulls", + "id": "merge", + "method": "PUT", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/merge", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Title for the automatic commit message.", + "enum": null, + "name": "commit_title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Extra detail to append to automatic commit message.", + "enum": null, + "name": "commit_message", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "SHA that pull request head must match to allow merge.", + "enum": null, + "name": "sha", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "enum": ["merge", "squash", "rebase"], + "name": "merge_method", + "type": "string", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List review requests", + "scope": "pulls", + "id": "listReviewRequests", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Create a review request", + "scope": "pulls", + "id": "createReviewRequest", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "An array of user `login`s that will be requested.", + "enum": null, + "name": "reviewers", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "An array of team `slug`s that will be requested.", + "enum": null, + "name": "team_reviewers", + "type": "string[]", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Delete a review request", + "scope": "pulls", + "id": "deleteReviewRequest", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "An array of user `login`s that will be removed.", + "enum": null, + "name": "reviewers", + "type": "string[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "An array of team `slug`s that will be removed.", + "enum": null, + "name": "team_reviewers", + "type": "string[]", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "List reviews on a pull request", + "scope": "pulls", + "id": "listReviews", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Create a pull request review", + "scope": "pulls", + "id": "createReview", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "commit_id", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready.", + "enum": ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + "name": "event", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Use the following table to specify the location, destination, and contents of the draft review comment.", + "enum": null, + "name": "comments", + "type": "object[]", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The relative path to the file that necessitates a review comment.", + "enum": null, + "name": "comments[].path", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "comments[].position", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Text of the review comment.", + "enum": null, + "name": "comments[].body", + "type": "string", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Get a single review", + "scope": "pulls", + "id": "getReview", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "review_id parameter", + "enum": null, + "name": "review_id", + "type": "integer", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Delete a pending review", + "scope": "pulls", + "id": "deletePendingReview", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "review_id parameter", + "enum": null, + "name": "review_id", + "type": "integer", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Update a pull request review", + "scope": "pulls", + "id": "updateReview", + "method": "PUT", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "review_id parameter", + "enum": null, + "name": "review_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The body text of the pull request review.", + "enum": null, + "name": "body", + "type": "string", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Get comments for a single review", + "scope": "pulls", + "id": "getCommentsForReview", + "method": "GET", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "review_id parameter", + "enum": null, + "name": "review_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Dismiss a pull request review", + "scope": "pulls", + "id": "dismissReview", + "method": "PUT", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "review_id parameter", + "enum": null, + "name": "review_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The message for the pull request review dismissal", + "enum": null, + "name": "message", + "type": "string", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Submit a pull request review", + "scope": "pulls", + "id": "submitReview", + "method": "POST", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "review_id parameter", + "enum": null, + "name": "review_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The body text of the pull request review", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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": ["APPROVE", "REQUEST_CHANGES", "COMMENT"], + "name": "event", + "type": "string", + "required": true + }, + { + "alias": "pull_number", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "number", + "type": null, + "required": null + } + ] + }, + { + "name": "Update a pull request branch", + "scope": "pulls", + "id": "updateBranch", + "method": "PUT", + "url": "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "pull_number parameter", + "enum": null, + "name": "pull_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref.", + "enum": null, + "name": "expected_head_sha", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get the README", + "scope": "repos", + "id": "getReadme", + "method": "GET", + "url": "/repos/{owner}/{repo}/readme", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)", + "enum": null, + "name": "ref", + "type": "string", + "required": false + } + ] + }, + { + "name": "List releases for a repository", + "scope": "repos", + "id": "listReleases", + "method": "GET", + "url": "/repos/{owner}/{repo}/releases", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a release", + "scope": "repos", + "id": "createRelease", + "method": "POST", + "url": "/repos/{owner}/{repo}/releases", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the tag.", + "enum": null, + "name": "tag_name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 (usually `master`).", + "enum": null, + "name": "target_commitish", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the release.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Text describing the contents of the tag.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "`true` to create a draft (unpublished) release, `false` to create a published one.", + "enum": null, + "name": "draft", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "`true` to identify the release as a prerelease. `false` to identify the release as a full release.", + "enum": null, + "name": "prerelease", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get a single release asset", + "scope": "repos", + "id": "getReleaseAsset", + "method": "GET", + "url": "/repos/{owner}/{repo}/releases/assets/{asset_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "asset_id parameter", + "enum": null, + "name": "asset_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a release asset", + "scope": "repos", + "id": "updateReleaseAsset", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/releases/assets/{asset_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "asset_id parameter", + "enum": null, + "name": "asset_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The file name of the asset.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "An alternate short description of the asset. Used in place of the filename.", + "enum": null, + "name": "label", + "type": "string", + "required": false + } + ] + }, + { + "name": "Delete a release asset", + "scope": "repos", + "id": "deleteReleaseAsset", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/releases/assets/{asset_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "asset_id parameter", + "enum": null, + "name": "asset_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Get the latest release", + "scope": "repos", + "id": "getLatestRelease", + "method": "GET", + "url": "/repos/{owner}/{repo}/releases/latest", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a release by tag name", + "scope": "repos", + "id": "getReleaseByTag", + "method": "GET", + "url": "/repos/{owner}/{repo}/releases/tags/{tag}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "tag parameter", + "enum": null, + "name": "tag", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a single release", + "scope": "repos", + "id": "getRelease", + "method": "GET", + "url": "/repos/{owner}/{repo}/releases/{release_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "release_id parameter", + "enum": null, + "name": "release_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a release", + "scope": "repos", + "id": "updateRelease", + "method": "PATCH", + "url": "/repos/{owner}/{repo}/releases/{release_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "release_id parameter", + "enum": null, + "name": "release_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the tag.", + "enum": null, + "name": "tag_name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 (usually `master`).", + "enum": null, + "name": "target_commitish", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the release.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Text describing the contents of the tag.", + "enum": null, + "name": "body", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "`true` makes the release a draft, and `false` publishes the release.", + "enum": null, + "name": "draft", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release.", + "enum": null, + "name": "prerelease", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a release", + "scope": "repos", + "id": "deleteRelease", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/releases/{release_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "release_id parameter", + "enum": null, + "name": "release_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List assets for a release", + "scope": "repos", + "id": "listAssetsForRelease", + "method": "GET", + "url": "/repos/{owner}/{repo}/releases/{release_id}/assets", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "release_id parameter", + "enum": null, + "name": "release_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List Stargazers", + "scope": "activity", + "id": "listStargazersForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/stargazers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get the number of additions and deletions per week", + "scope": "repos", + "id": "getCodeFrequencyStats", + "method": "GET", + "url": "/repos/{owner}/{repo}/stats/code_frequency", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get the last year of commit activity data", + "scope": "repos", + "id": "getCommitActivityStats", + "method": "GET", + "url": "/repos/{owner}/{repo}/stats/commit_activity", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get contributors list with additions, deletions, and commit counts", + "scope": "repos", + "id": "getContributorsStats", + "method": "GET", + "url": "/repos/{owner}/{repo}/stats/contributors", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get the weekly commit count for the repository owner and everyone else", + "scope": "repos", + "id": "getParticipationStats", + "method": "GET", + "url": "/repos/{owner}/{repo}/stats/participation", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get the number of commits per hour in each day", + "scope": "repos", + "id": "getPunchCardStats", + "method": "GET", + "url": "/repos/{owner}/{repo}/stats/punch_card", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create a status", + "scope": "repos", + "id": "createStatus", + "method": "POST", + "url": "/repos/{owner}/{repo}/statuses/{sha}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "sha parameter", + "enum": null, + "name": "sha", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The state of the status. Can be one of `error`, `failure`, `pending`, or `success`.", + "enum": ["error", "failure", "pending", "success"], + "name": "state", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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. \nFor 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: \n`http://ci.example.com/user/repo/build/sha`", + "enum": null, + "name": "target_url", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the status.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A string label to differentiate this status from the status of other systems.", + "enum": null, + "name": "context", + "type": "string", + "required": false + } + ] + }, + { + "name": "List watchers", + "scope": "activity", + "id": "listWatchersForRepo", + "method": "GET", + "url": "/repos/{owner}/{repo}/subscribers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a Repository Subscription", + "scope": "activity", + "id": "getRepoSubscription", + "method": "GET", + "url": "/repos/{owner}/{repo}/subscription", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Set a Repository Subscription", + "scope": "activity", + "id": "setRepoSubscription", + "method": "PUT", + "url": "/repos/{owner}/{repo}/subscription", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines if notifications should be received from this repository.", + "enum": null, + "name": "subscribed", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Determines if all notifications should be blocked from this repository.", + "enum": null, + "name": "ignored", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Delete a Repository Subscription", + "scope": "activity", + "id": "deleteRepoSubscription", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/subscription", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List tags", + "scope": "repos", + "id": "listTags", + "method": "GET", + "url": "/repos/{owner}/{repo}/tags", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List teams", + "scope": "repos", + "id": "listTeams", + "method": "GET", + "url": "/repos/{owner}/{repo}/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List all topics for a repository", + "scope": "repos", + "id": "listTopics", + "method": "GET", + "url": "/repos/{owner}/{repo}/topics", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Replace all topics for a repository", + "scope": "repos", + "id": "replaceTopics", + "method": "PUT", + "url": "/repos/{owner}/{repo}/topics", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "names", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Clones", + "scope": "repos", + "id": "getClones", + "method": "GET", + "url": "/repos/{owner}/{repo}/traffic/clones", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Must be one of: `day`, `week`.", + "enum": ["day", "week"], + "name": "per", + "type": "string", + "required": false + } + ] + }, + { + "name": "List paths", + "scope": "repos", + "id": "getTopPaths", + "method": "GET", + "url": "/repos/{owner}/{repo}/traffic/popular/paths", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List referrers", + "scope": "repos", + "id": "getTopReferrers", + "method": "GET", + "url": "/repos/{owner}/{repo}/traffic/popular/referrers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Views", + "scope": "repos", + "id": "getViews", + "method": "GET", + "url": "/repos/{owner}/{repo}/traffic/views", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Must be one of: `day`, `week`.", + "enum": ["day", "week"], + "name": "per", + "type": "string", + "required": false + } + ] + }, + { + "name": "Transfer a repository", + "scope": "repos", + "id": "transfer", + "method": "POST", + "url": "/repos/{owner}/{repo}/transfer", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Required:** The username or organization name the repository will be transferred to.", + "enum": null, + "name": "new_owner", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.", + "enum": null, + "name": "team_ids", + "type": "integer[]", + "required": false + } + ] + }, + { + "name": "Check if vulnerability alerts are enabled for a repository", + "scope": "repos", + "id": "checkVulnerabilityAlerts", + "method": "GET", + "url": "/repos/{owner}/{repo}/vulnerability-alerts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Enable vulnerability alerts", + "scope": "repos", + "id": "enableVulnerabilityAlerts", + "method": "PUT", + "url": "/repos/{owner}/{repo}/vulnerability-alerts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Disable vulnerability alerts", + "scope": "repos", + "id": "disableVulnerabilityAlerts", + "method": "DELETE", + "url": "/repos/{owner}/{repo}/vulnerability-alerts", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get archive link", + "scope": "repos", + "id": "getArchiveLink", + "method": "GET", + "url": "/repos/{owner}/{repo}/{archive_format}/{ref}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "archive_format parameter", + "enum": null, + "name": "archive_format", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ref parameter", + "enum": null, + "name": "ref", + "type": "string", + "required": true + } + ] + }, + { + "name": "Create repository using a repository template", + "scope": "repos", + "id": "createUsingTemplate", + "method": "POST", + "url": "/repos/{template_owner}/{template_repo}/generate", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "template_owner parameter", + "enum": null, + "name": "template_owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "template_repo parameter", + "enum": null, + "name": "template_repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "owner", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the new repository.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the new repository.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to create a new private repository or `false` to create a new public one.", + "enum": null, + "name": "private", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "List all public repositories", + "scope": "repos", + "id": "listPublic", + "method": "GET", + "url": "/repositories", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The integer ID of the last Repository that you've seen.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a list of provisioned identities", + "scope": "scim", + "id": "listProvisionedIdentities", + "method": "GET", + "url": "/scim/v2/organizations/{org}/Users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Used for pagination: the index of the first result to return.", + "enum": null, + "name": "startIndex", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Used for pagination: the number of results to return.", + "enum": null, + "name": "count", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: `?filter=userName%20eq%20\\\"Octocat\\\"`.", + "enum": null, + "name": "filter", + "type": "string", + "required": false + } + ] + }, + { + "name": "Provision and invite users", + "scope": "scim", + "id": "provisionAndInviteUsers", + "method": "POST", + "url": "/scim/v2/organizations/{org}/Users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Provision and invite users", + "scope": "scim", + "id": "provisionInviteUsers", + "method": "POST", + "url": "/scim/v2/organizations/{org}/Users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get provisioning details for a single user", + "scope": "scim", + "id": "getProvisioningDetailsForUser", + "method": "GET", + "url": "/scim/v2/organizations/{org}/Users/{scim_user_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "scim_user_id parameter", + "enum": null, + "name": "scim_user_id", + "type": "integer", + "required": true + }, + { + "alias": "scim_user_id", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "external_identity_guid", + "type": null, + "required": null + } + ] + }, + { + "name": "Replace a provisioned user's information", + "scope": "scim", + "id": "replaceProvisionedUserInformation", + "method": "PUT", + "url": "/scim/v2/organizations/{org}/Users/{scim_user_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "scim_user_id parameter", + "enum": null, + "name": "scim_user_id", + "type": "integer", + "required": true + }, + { + "alias": "scim_user_id", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "external_identity_guid", + "type": null, + "required": null + } + ] + }, + { + "name": "Replace a provisioned user's information", + "scope": "scim", + "id": "updateProvisionedOrgMembership", + "method": "PUT", + "url": "/scim/v2/organizations/{org}/Users/{scim_user_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "scim_user_id parameter", + "enum": null, + "name": "scim_user_id", + "type": "integer", + "required": true + }, + { + "alias": "scim_user_id", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "external_identity_guid", + "type": null, + "required": null + } + ] + }, + { + "name": "Update a user attribute", + "scope": "scim", + "id": "updateUserAttribute", + "method": "PATCH", + "url": "/scim/v2/organizations/{org}/Users/{scim_user_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "scim_user_id parameter", + "enum": null, + "name": "scim_user_id", + "type": "integer", + "required": true + }, + { + "alias": "scim_user_id", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "external_identity_guid", + "type": null, + "required": null + } + ] + }, + { + "name": "Remove a user from the organization", + "scope": "scim", + "id": "removeUserFromOrg", + "method": "DELETE", + "url": "/scim/v2/organizations/{org}/Users/{scim_user_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "scim_user_id parameter", + "enum": null, + "name": "scim_user_id", + "type": "integer", + "required": true + }, + { + "alias": "scim_user_id", + "allowNull": null, + "deprecated": true, + "description": null, + "enum": null, + "name": "external_identity_guid", + "type": null, + "required": null + } + ] + }, + { + "name": "Search code", + "scope": "search", + "id": "code", + "method": "GET", + "url": "/search/code", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See \"[Searching code](https://help.github.com/articles/searching-code/)\" for a detailed list of qualifiers.", + "enum": null, + "name": "q", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "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://developer.github.com/v3/search/#ranking-search-results)", + "enum": ["indexed"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["desc", "asc"], + "name": "order", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Search commits", + "scope": "search", + "id": "commits", + "method": "GET", + "url": "/search/commits", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See \"[Searching commits](https://help.github.com/articles/searching-commits/)\" for a detailed list of qualifiers.", + "enum": null, + "name": "q", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results)", + "enum": ["author-date", "committer-date"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["desc", "asc"], + "name": "order", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Search issues and pull requests", + "scope": "search", + "id": "issuesAndPullRequests", + "method": "GET", + "url": "/search/issues", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See \"[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)\" for a detailed list of qualifiers.", + "enum": null, + "name": "q", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/search/#ranking-search-results)", + "enum": [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["desc", "asc"], + "name": "order", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Search issues and pull requests", + "scope": "search", + "id": "issues", + "method": "GET", + "url": "/search/issues", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See \"[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)\" for a detailed list of qualifiers.", + "enum": null, + "name": "q", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/search/#ranking-search-results)", + "enum": [ + "comments", + "reactions", + "reactions-+1", + "reactions--1", + "reactions-smile", + "reactions-thinking_face", + "reactions-heart", + "reactions-tada", + "interactions", + "created", + "updated" + ], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["desc", "asc"], + "name": "order", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Search labels", + "scope": "search", + "id": "labels", + "method": "GET", + "url": "/search/labels", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The id of the repository.", + "enum": null, + "name": "repository_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/search/#constructing-a-search-query).", + "enum": null, + "name": "q", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results)", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["desc", "asc"], + "name": "order", + "type": "string", + "required": false + } + ] + }, + { + "name": "Search repositories", + "scope": "search", + "id": "repos", + "method": "GET", + "url": "/search/repositories", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See \"[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)\" for a detailed list of qualifiers.", + "enum": null, + "name": "q", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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://developer.github.com/v3/search/#ranking-search-results)", + "enum": ["stars", "forks", "help-wanted-issues", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["desc", "asc"], + "name": "order", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Search topics", + "scope": "search", + "id": "topics", + "method": "GET", + "url": "/search/topics", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query).", + "enum": null, + "name": "q", + "type": "string", + "required": true + } + ] + }, + { + "name": "Search users", + "scope": "search", + "id": "users", + "method": "GET", + "url": "/search/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See \"[Searching users](https://help.github.com/articles/searching-users/)\" for a detailed list of qualifiers.", + "enum": null, + "name": "q", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results)", + "enum": ["followers", "repositories", "joined"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["desc", "asc"], + "name": "order", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get team", + "scope": "teams", + "id": "get", + "method": "GET", + "url": "/teams/{team_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit team", + "scope": "teams", + "id": "update", + "method": "PATCH", + "url": "/teams/{team_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the team.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The description of the team.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: \n**For a non-nested team:** \n\\* `secret` - only visible to organization owners and members of this team. \n\\* `closed` - visible to all members of this organization. \n**For a parent or child team:** \n\\* `closed` - visible to all members of this organization.", + "enum": ["secret", "closed"], + "name": "privacy", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "**Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer newly-added repositories. \n\\* `push` - team members can pull and push, but not administer newly-added repositories. \n\\* `admin` - team members can pull, push and administer newly-added repositories.", + "enum": ["pull", "push", "admin"], + "name": "permission", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter.", + "enum": null, + "name": "parent_team_id", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Delete team", + "scope": "teams", + "id": "delete", + "method": "DELETE", + "url": "/teams/{team_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List discussions", + "scope": "teams", + "id": "listDiscussions", + "method": "GET", + "url": "/teams/{team_id}/discussions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a discussion", + "scope": "teams", + "id": "createDiscussion", + "method": "POST", + "url": "/teams/{team_id}/discussions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The discussion post's title.", + "enum": null, + "name": "title", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The discussion post's body text.", + "enum": null, + "name": "body", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "private", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get a single discussion", + "scope": "teams", + "id": "getDiscussion", + "method": "GET", + "url": "/teams/{team_id}/discussions/{discussion_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a discussion", + "scope": "teams", + "id": "updateDiscussion", + "method": "PATCH", + "url": "/teams/{team_id}/discussions/{discussion_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The discussion post's title.", + "enum": null, + "name": "title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The discussion post's body text.", + "enum": null, + "name": "body", + "type": "string", + "required": false + } + ] + }, + { + "name": "Delete a discussion", + "scope": "teams", + "id": "deleteDiscussion", + "method": "DELETE", + "url": "/teams/{team_id}/discussions/{discussion_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List comments", + "scope": "teams", + "id": "listDiscussionComments", + "method": "GET", + "url": "/teams/{team_id}/discussions/{discussion_number}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a comment", + "scope": "teams", + "id": "createDiscussionComment", + "method": "POST", + "url": "/teams/{team_id}/discussions/{discussion_number}/comments", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The discussion comment's body text.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a single comment", + "scope": "teams", + "id": "getDiscussionComment", + "method": "GET", + "url": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_number parameter", + "enum": null, + "name": "comment_number", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Edit a comment", + "scope": "teams", + "id": "updateDiscussionComment", + "method": "PATCH", + "url": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_number parameter", + "enum": null, + "name": "comment_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The discussion comment's body text.", + "enum": null, + "name": "body", + "type": "string", + "required": true + } + ] + }, + { + "name": "Delete a comment", + "scope": "teams", + "id": "deleteDiscussionComment", + "method": "DELETE", + "url": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_number parameter", + "enum": null, + "name": "comment_number", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List reactions for a team discussion comment", + "scope": "reactions", + "id": "listForTeamDiscussionComment", + "method": "GET", + "url": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_number parameter", + "enum": null, + "name": "comment_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create reaction for a team discussion comment", + "scope": "reactions", + "id": "createForTeamDiscussionComment", + "method": "POST", + "url": "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "comment_number parameter", + "enum": null, + "name": "comment_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": true + } + ] + }, + { + "name": "List reactions for a team discussion", + "scope": "reactions", + "id": "listForTeamDiscussion", + "method": "GET", + "url": "/teams/{team_id}/discussions/{discussion_number}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create reaction for a team discussion", + "scope": "reactions", + "id": "createForTeamDiscussion", + "method": "POST", + "url": "/teams/{team_id}/discussions/{discussion_number}/reactions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "discussion_number parameter", + "enum": null, + "name": "discussion_number", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion.", + "enum": [ + "+1", + "-1", + "laugh", + "confused", + "heart", + "hooray", + "rocket", + "eyes" + ], + "name": "content", + "type": "string", + "required": true + } + ] + }, + { + "name": "List pending team invitations", + "scope": "teams", + "id": "listPendingInvitations", + "method": "GET", + "url": "/teams/{team_id}/invitations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List team members", + "scope": "teams", + "id": "listMembers", + "method": "GET", + "url": "/teams/{team_id}/members", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Filters members returned by their role in the team. Can be one of: \n\\* `member` - normal members of the team. \n\\* `maintainer` - team maintainers. \n\\* `all` - all members of the team.", + "enum": ["member", "maintainer", "all"], + "name": "role", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get team member", + "scope": "teams", + "id": "getMember", + "method": "GET", + "url": "/teams/{team_id}/members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add team member", + "scope": "teams", + "id": "addMember", + "method": "PUT", + "url": "/teams/{team_id}/members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Remove team member", + "scope": "teams", + "id": "removeMember", + "method": "DELETE", + "url": "/teams/{team_id}/members/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get team membership", + "scope": "teams", + "id": "getMembership", + "method": "GET", + "url": "/teams/{team_id}/memberships/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add or update team membership", + "scope": "teams", + "id": "addOrUpdateMembership", + "method": "PUT", + "url": "/teams/{team_id}/memberships/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The role that this user should have in the team. Can be one of: \n\\* `member` - a normal member of the team. \n\\* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description.", + "enum": ["member", "maintainer"], + "name": "role", + "type": "string", + "required": false + } + ] + }, + { + "name": "Remove team membership", + "scope": "teams", + "id": "removeMembership", + "method": "DELETE", + "url": "/teams/{team_id}/memberships/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List team projects", + "scope": "teams", + "id": "listProjects", + "method": "GET", + "url": "/teams/{team_id}/projects", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Review a team project", + "scope": "teams", + "id": "reviewProject", + "method": "GET", + "url": "/teams/{team_id}/projects/{project_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Add or update team project", + "scope": "teams", + "id": "addOrUpdateProject", + "method": "PUT", + "url": "/teams/{team_id}/projects/{project_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The permission to grant to the team for this project. Can be one of: \n\\* `read` - team members can read, but not write to or administer this project. \n\\* `write` - team members can read and write, but not administer this project. \n\\* `admin` - team members can read, write and administer this project. \nDefault: 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 out to this endpoint. For more information, see \"[HTTP verbs](https://developer.github.com/v3/#http-verbs).\" \n**Note**: If you pass the `hellcat-preview` media type, you can promote—but not demote—a `permission` attribute inherited from a parent team.", + "enum": ["read", "write", "admin"], + "name": "permission", + "type": "string", + "required": false + } + ] + }, + { + "name": "Remove team project", + "scope": "teams", + "id": "removeProject", + "method": "DELETE", + "url": "/teams/{team_id}/projects/{project_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "project_id parameter", + "enum": null, + "name": "project_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List team repos", + "scope": "teams", + "id": "listRepos", + "method": "GET", + "url": "/teams/{team_id}/repos", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check if a team manages a repository", + "scope": "teams", + "id": "checkManagesRepo", + "method": "GET", + "url": "/teams/{team_id}/repos/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Add or update team repository", + "scope": "teams", + "id": "addOrUpdateRepo", + "method": "PUT", + "url": "/teams/{team_id}/repos/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The permission to grant the team on this repository. Can be one of: \n\\* `pull` - team members can pull, but not push to or administer this repository. \n\\* `push` - team members can pull and push, but not administer this repository. \n\\* `admin` - team members can pull, push and administer this repository. \n \nIf no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. \n**Note**: If you pass the `hellcat-preview` media type, you can promote—but not demote—a `permission` attribute inherited through a parent team.", + "enum": ["pull", "push", "admin"], + "name": "permission", + "type": "string", + "required": false + } + ] + }, + { + "name": "Remove team repository", + "scope": "teams", + "id": "removeRepo", + "method": "DELETE", + "url": "/teams/{team_id}/repos/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List IdP groups for a team", + "scope": "teams", + "id": "listIdPGroups", + "method": "GET", + "url": "/teams/{team_id}/team-sync/group-mappings", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Create or update IdP group connections", + "scope": "teams", + "id": "createOrUpdateIdPGroupConnections", + "method": "PATCH", + "url": "/teams/{team_id}/team-sync/group-mappings", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove.", + "enum": null, + "name": "groups", + "type": "object[]", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "ID of the IdP group.", + "enum": null, + "name": "groups[].group_id", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Name of the IdP group.", + "enum": null, + "name": "groups[].group_name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Description of the IdP group.", + "enum": null, + "name": "groups[].group_description", + "type": "string", + "required": true + } + ] + }, + { + "name": "List child teams", + "scope": "teams", + "id": "listChild", + "method": "GET", + "url": "/teams/{team_id}/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "team_id parameter", + "enum": null, + "name": "team_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get the authenticated user", + "scope": "users", + "id": "getAuthenticated", + "method": "GET", + "url": "/user", + "parameters": [] + }, + { + "name": "Update the authenticated user", + "scope": "users", + "id": "updateAuthenticated", + "method": "PATCH", + "url": "/user", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new name of the user.", + "enum": null, + "name": "name", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The publicly visible email address of the user.", + "enum": null, + "name": "email", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new blog URL of the user.", + "enum": null, + "name": "blog", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new company of the user.", + "enum": null, + "name": "company", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new location of the user.", + "enum": null, + "name": "location", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new hiring availability of the user.", + "enum": null, + "name": "hireable", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The new short biography of the user.", + "enum": null, + "name": "bio", + "type": "string", + "required": false + } + ] + }, + { + "name": "List blocked users", + "scope": "users", + "id": "listBlocked", + "method": "GET", + "url": "/user/blocks", + "parameters": [] + }, + { + "name": "Check whether you've blocked a user", + "scope": "users", + "id": "checkBlocked", + "method": "GET", + "url": "/user/blocks/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Block a user", + "scope": "users", + "id": "block", + "method": "PUT", + "url": "/user/blocks/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Unblock a user", + "scope": "users", + "id": "unblock", + "method": "DELETE", + "url": "/user/blocks/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Toggle primary email visibility", + "scope": "users", + "id": "togglePrimaryEmailVisibility", + "method": "PATCH", + "url": "/user/email/visibility", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Specify the _primary_ email address that needs a visibility change.", + "enum": null, + "name": "email", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly.", + "enum": null, + "name": "visibility", + "type": "string", + "required": true + } + ] + }, + { + "name": "List email addresses for a user", + "scope": "users", + "id": "listEmails", + "method": "GET", + "url": "/user/emails", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Add email address(es)", + "scope": "users", + "id": "addEmails", + "method": "POST", + "url": "/user/emails", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "emails", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "Delete email address(es)", + "scope": "users", + "id": "deleteEmails", + "method": "DELETE", + "url": "/user/emails", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Deletes one or more email addresses from 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.", + "enum": null, + "name": "emails", + "type": "string[]", + "required": true + } + ] + }, + { + "name": "List the authenticated user's followers", + "scope": "users", + "id": "listFollowersForAuthenticatedUser", + "method": "GET", + "url": "/user/followers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List who the authenticated user is following", + "scope": "users", + "id": "listFollowingForAuthenticatedUser", + "method": "GET", + "url": "/user/following", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check if you are following a user", + "scope": "users", + "id": "checkFollowing", + "method": "GET", + "url": "/user/following/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Follow a user", + "scope": "users", + "id": "follow", + "method": "PUT", + "url": "/user/following/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Unfollow a user", + "scope": "users", + "id": "unfollow", + "method": "DELETE", + "url": "/user/following/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List your GPG keys", + "scope": "users", + "id": "listGpgKeys", + "method": "GET", + "url": "/user/gpg_keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a GPG key", + "scope": "users", + "id": "createGpgKey", + "method": "POST", + "url": "/user/gpg_keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Your GPG key, generated in ASCII-armored format. See \"[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)\" for help creating a GPG key.", + "enum": null, + "name": "armored_public_key", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a single GPG key", + "scope": "users", + "id": "getGpgKey", + "method": "GET", + "url": "/user/gpg_keys/{gpg_key_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gpg_key_id parameter", + "enum": null, + "name": "gpg_key_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Delete a GPG key", + "scope": "users", + "id": "deleteGpgKey", + "method": "DELETE", + "url": "/user/gpg_keys/{gpg_key_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "gpg_key_id parameter", + "enum": null, + "name": "gpg_key_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List installations for a user", + "scope": "apps", + "id": "listInstallationsForAuthenticatedUser", + "method": "GET", + "url": "/user/installations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List repositories accessible to the user for an installation", + "scope": "apps", + "id": "listInstallationReposForAuthenticatedUser", + "method": "GET", + "url": "/user/installations/{installation_id}/repositories", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "installation_id parameter", + "enum": null, + "name": "installation_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Add repository to installation", + "scope": "apps", + "id": "addRepoToInstallation", + "method": "PUT", + "url": "/user/installations/{installation_id}/repositories/{repository_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "installation_id parameter", + "enum": null, + "name": "installation_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repository_id parameter", + "enum": null, + "name": "repository_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Remove repository from installation", + "scope": "apps", + "id": "removeRepoFromInstallation", + "method": "DELETE", + "url": "/user/installations/{installation_id}/repositories/{repository_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "installation_id parameter", + "enum": null, + "name": "installation_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repository_id parameter", + "enum": null, + "name": "repository_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List all issues across owned and member repositories assigned to the authenticated user", + "scope": "issues", + "id": "listForAuthenticatedUser", + "method": "GET", + "url": "/user/issues", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates which sorts of issues to return. Can be one of: \n\\* `assigned`: Issues assigned to you \n\\* `created`: Issues created by you \n\\* `mentioned`: Issues mentioning you \n\\* `subscribed`: Issues you're subscribed to updates for \n\\* `all`: All issues the authenticated user can see, regardless of participation or creation", + "enum": ["assigned", "created", "mentioned", "subscribed", "all"], + "name": "filter", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A list of comma separated label names. Example: `bug,ui,@high`", + "enum": null, + "name": "labels", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "What to sort results by. Can be either `created`, `updated`, `comments`.", + "enum": ["created", "updated", "comments"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The direction of the sort. Can be either `asc` or `desc`.", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List your public keys", + "scope": "users", + "id": "listPublicKeys", + "method": "GET", + "url": "/user/keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a public key", + "scope": "users", + "id": "createPublicKey", + "method": "POST", + "url": "/user/keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key \"Personal MacBook Air\".", + "enum": null, + "name": "title", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The public SSH key to add to your GitHub account. See \"[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)\" for guidance on how to create a public SSH key.", + "enum": null, + "name": "key", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a single public key", + "scope": "users", + "id": "getPublicKey", + "method": "GET", + "url": "/user/keys/{key_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "key_id parameter", + "enum": null, + "name": "key_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Delete a public key", + "scope": "users", + "id": "deletePublicKey", + "method": "DELETE", + "url": "/user/keys/{key_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "key_id parameter", + "enum": null, + "name": "key_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Get a user's Marketplace purchases", + "scope": "apps", + "id": "listMarketplacePurchasesForAuthenticatedUser", + "method": "GET", + "url": "/user/marketplace_purchases", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a user's Marketplace purchases (stubbed)", + "scope": "apps", + "id": "listMarketplacePurchasesForAuthenticatedUserStubbed", + "method": "GET", + "url": "/user/marketplace_purchases/stubbed", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List your organization memberships", + "scope": "orgs", + "id": "listMemberships", + "method": "GET", + "url": "/user/memberships/orgs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships.", + "enum": ["active", "pending"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get your organization membership", + "scope": "orgs", + "id": "getMembershipForAuthenticatedUser", + "method": "GET", + "url": "/user/memberships/orgs/{org}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + } + ] + }, + { + "name": "Edit your organization membership", + "scope": "orgs", + "id": "updateMembership", + "method": "PATCH", + "url": "/user/memberships/orgs/{org}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The state that the membership should be in. Only `\"active\"` will be accepted.", + "enum": ["active"], + "name": "state", + "type": "string", + "required": true + } + ] + }, + { + "name": "Start a user migration", + "scope": "migrations", + "id": "startForAuthenticatedUser", + "method": "POST", + "url": "/user/migrations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "An array of repositories to include in the migration.", + "enum": null, + "name": "repositories", + "type": "string[]", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Locks the `repositories` to prevent changes during the migration when set to `true`.", + "enum": null, + "name": "lock_repositories", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size.", + "enum": null, + "name": "exclude_attachments", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "Get a list of user migrations", + "scope": "migrations", + "id": "listForAuthenticatedUser", + "method": "GET", + "url": "/user/migrations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get the status of a user migration", + "scope": "migrations", + "id": "getStatusForAuthenticatedUser", + "method": "GET", + "url": "/user/migrations/{migration_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Download a user migration archive", + "scope": "migrations", + "id": "getArchiveForAuthenticatedUser", + "method": "GET", + "url": "/user/migrations/{migration_id}/archive", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Delete a user migration archive", + "scope": "migrations", + "id": "deleteArchiveForAuthenticatedUser", + "method": "DELETE", + "url": "/user/migrations/{migration_id}/archive", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Unlock a user repository", + "scope": "migrations", + "id": "unlockRepoForAuthenticatedUser", + "method": "DELETE", + "url": "/user/migrations/{migration_id}/repos/{repo_name}/lock", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "migration_id parameter", + "enum": null, + "name": "migration_id", + "type": "integer", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo_name parameter", + "enum": null, + "name": "repo_name", + "type": "string", + "required": true + } + ] + }, + { + "name": "List your organizations", + "scope": "orgs", + "id": "listForAuthenticatedUser", + "method": "GET", + "url": "/user/orgs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Create a user project", + "scope": "projects", + "id": "createForAuthenticatedUser", + "method": "POST", + "url": "/user/projects", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the project.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The description of the project.", + "enum": null, + "name": "body", + "type": "string", + "required": false + } + ] + }, + { + "name": "List public email addresses for a user", + "scope": "users", + "id": "listPublicEmails", + "method": "GET", + "url": "/user/public_emails", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List your repositories", + "scope": "repos", + "id": "list", + "method": "GET", + "url": "/user/repos", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `all`, `public`, or `private`.", + "enum": ["all", "public", "private"], + "name": "visibility", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Comma-separated list of values. Can include: \n\\* `owner`: Repositories that are owned by the authenticated user. \n\\* `collaborator`: Repositories that the user has been added to as a collaborator. \n\\* `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.", + "enum": null, + "name": "affiliation", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` \n \nWill cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**.", + "enum": ["all", "owner", "public", "private", "member"], + "name": "type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", + "enum": ["created", "updated", "pushed", "full_name"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Creates a new repository for the authenticated user", + "scope": "repos", + "id": "createForAuthenticatedUser", + "method": "POST", + "url": "/user/repos", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The name of the repository.", + "enum": null, + "name": "name", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A short description of the repository.", + "enum": null, + "name": "description", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "A URL with more information about the repository.", + "enum": null, + "name": "homepage", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account.", + "enum": null, + "name": "private", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to enable issues for this repository or `false` to disable them.", + "enum": null, + "name": "has_issues", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "has_projects", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to enable the wiki for this repository or `false` to disable it.", + "enum": null, + "name": "has_wiki", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to make this repo available as a template repository or `false` to prevent it.", + "enum": null, + "name": "is_template", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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.", + "enum": null, + "name": "team_id", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Pass `true` to create an initial commit with empty README.", + "enum": null, + "name": "auto_init", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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\".", + "enum": null, + "name": "gitignore_template", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\".", + "enum": null, + "name": "license_template", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.", + "enum": null, + "name": "allow_squash_merge", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.", + "enum": null, + "name": "allow_merge_commit", + "type": "boolean", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.", + "enum": null, + "name": "allow_rebase_merge", + "type": "boolean", + "required": false + } + ] + }, + { + "name": "List a user's repository invitations", + "scope": "repos", + "id": "listInvitationsForAuthenticatedUser", + "method": "GET", + "url": "/user/repository_invitations", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Accept a repository invitation", + "scope": "repos", + "id": "acceptInvitation", + "method": "PATCH", + "url": "/user/repository_invitations/{invitation_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "invitation_id parameter", + "enum": null, + "name": "invitation_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "Decline a repository invitation", + "scope": "repos", + "id": "declineInvitation", + "method": "DELETE", + "url": "/user/repository_invitations/{invitation_id}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "invitation_id parameter", + "enum": null, + "name": "invitation_id", + "type": "integer", + "required": true + } + ] + }, + { + "name": "List repositories being starred by the authenticated user", + "scope": "activity", + "id": "listReposStarredByAuthenticatedUser", + "method": "GET", + "url": "/user/starred", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "One of `created` (when the repository was starred) or `updated` (when it was last pushed to).", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "One of `asc` (ascending) or `desc` (descending).", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check if you are starring a repository", + "scope": "activity", + "id": "checkStarringRepo", + "method": "GET", + "url": "/user/starred/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Star a repository", + "scope": "activity", + "id": "starRepo", + "method": "PUT", + "url": "/user/starred/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Unstar a repository", + "scope": "activity", + "id": "unstarRepo", + "method": "DELETE", + "url": "/user/starred/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List repositories being watched by the authenticated user", + "scope": "activity", + "id": "listWatchedReposForAuthenticatedUser", + "method": "GET", + "url": "/user/subscriptions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check if you are watching a repository (LEGACY)", + "scope": "activity", + "id": "checkWatchingRepoLegacy", + "method": "GET", + "url": "/user/subscriptions/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Watch a repository (LEGACY)", + "scope": "activity", + "id": "watchRepoLegacy", + "method": "PUT", + "url": "/user/subscriptions/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "Stop watching a repository (LEGACY)", + "scope": "activity", + "id": "stopWatchingRepoLegacy", + "method": "DELETE", + "url": "/user/subscriptions/{owner}/{repo}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "owner parameter", + "enum": null, + "name": "owner", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "repo parameter", + "enum": null, + "name": "repo", + "type": "string", + "required": true + } + ] + }, + { + "name": "List user teams", + "scope": "teams", + "id": "listForAuthenticatedUser", + "method": "GET", + "url": "/user/teams", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get all users", + "scope": "users", + "id": "list", + "method": "GET", + "url": "/users", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "The integer ID of the last User that you've seen.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get a single user", + "scope": "users", + "id": "getByUsername", + "method": "GET", + "url": "/users/{username}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List events performed by a user", + "scope": "activity", + "id": "listEventsForUser", + "method": "GET", + "url": "/users/{username}/events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List events for an organization", + "scope": "activity", + "id": "listEventsForOrg", + "method": "GET", + "url": "/users/{username}/events/orgs/{org}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "org parameter", + "enum": null, + "name": "org", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List public events performed by a user", + "scope": "activity", + "id": "listPublicEventsForUser", + "method": "GET", + "url": "/users/{username}/events/public", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List a user's followers", + "scope": "users", + "id": "listFollowersForUser", + "method": "GET", + "url": "/users/{username}/followers", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List who a user is following", + "scope": "users", + "id": "listFollowingForUser", + "method": "GET", + "url": "/users/{username}/following", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Check if one user follows another", + "scope": "users", + "id": "checkFollowingForUser", + "method": "GET", + "url": "/users/{username}/following/{target_user}", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "target_user parameter", + "enum": null, + "name": "target_user", + "type": "string", + "required": true + } + ] + }, + { + "name": "List public gists for the specified user", + "scope": "gists", + "id": "listPublicForUser", + "method": "GET", + "url": "/users/{username}/gists", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned.", + "enum": null, + "name": "since", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List GPG keys for a user", + "scope": "users", + "id": "listGpgKeysForUser", + "method": "GET", + "url": "/users/{username}/gpg_keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "Get contextual information about a user", + "scope": "users", + "id": "getContextForUser", + "method": "GET", + "url": "/users/{username}/hovercard", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "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`.", + "enum": ["organization", "repository", "issue", "pull_request"], + "name": "subject_type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`.", + "enum": null, + "name": "subject_id", + "type": "string", + "required": false + } + ] + }, + { + "name": "Get a user installation", + "scope": "apps", + "id": "getUserInstallation", + "method": "GET", + "url": "/users/{username}/installation", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "Get a user installation", + "scope": "apps", + "id": "findUserInstallation", + "method": "GET", + "url": "/users/{username}/installation", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + } + ] + }, + { + "name": "List public keys for a user", + "scope": "users", + "id": "listPublicKeysForUser", + "method": "GET", + "url": "/users/{username}/keys", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List user organizations", + "scope": "orgs", + "id": "listForUser", + "method": "GET", + "url": "/users/{username}/orgs", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List user projects", + "scope": "projects", + "id": "listForUser", + "method": "GET", + "url": "/users/{username}/projects", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.", + "enum": ["open", "closed", "all"], + "name": "state", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List events that a user has received", + "scope": "activity", + "id": "listReceivedEventsForUser", + "method": "GET", + "url": "/users/{username}/received_events", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List public events that a user has received", + "scope": "activity", + "id": "listReceivedPublicEventsForUser", + "method": "GET", + "url": "/users/{username}/received_events/public", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List user repositories", + "scope": "repos", + "id": "listForUser", + "method": "GET", + "url": "/users/{username}/repos", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `all`, `owner`, `member`.", + "enum": ["all", "owner", "member"], + "name": "type", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `created`, `updated`, `pushed`, `full_name`.", + "enum": ["created", "updated", "pushed", "full_name"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List repositories being starred by a user", + "scope": "activity", + "id": "listReposStarredByUser", + "method": "GET", + "url": "/users/{username}/starred", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "One of `created` (when the repository was starred) or `updated` (when it was last pushed to).", + "enum": ["created", "updated"], + "name": "sort", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "One of `asc` (ascending) or `desc` (descending).", + "enum": ["asc", "desc"], + "name": "direction", + "type": "string", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + }, + { + "name": "List repositories being watched by a user", + "scope": "activity", + "id": "listReposWatchedByUser", + "method": "GET", + "url": "/users/{username}/subscriptions", + "parameters": [ + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "username parameter", + "enum": null, + "name": "username", + "type": "string", + "required": true + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Results per page (max 100)", + "enum": null, + "name": "per_page", + "type": "integer", + "required": false + }, + { + "alias": null, + "allowNull": false, + "deprecated": null, + "description": "Page number of the results to fetch.", + "enum": null, + "name": "page", + "type": "integer", + "required": false + } + ] + } +] diff --git a/node_modules/@octokit/types/scripts/update-endpoints/templates/endpoints.ts.template b/node_modules/@octokit/types/scripts/update-endpoints/templates/endpoints.ts.template new file mode 100644 index 0000000..2eceb2f --- /dev/null +++ b/node_modules/@octokit/types/scripts/update-endpoints/templates/endpoints.ts.template @@ -0,0 +1,33 @@ +// DO NOT EDIT THIS FILE +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +import { Url } from "../Url"; + +export interface Endpoints { + {{#each endpointsByRoute}} + "{{@key}}": [{{union this "optionsTypeName"}}, {{union this "requestOptionsTypeName"}}] + {{/each}} +} + +{{#each options}} +type {{in.name}} = { +{{#each in.parameters}} + {{&jsdoc}} + {{{name this}}}: {{{type this}}} +{{/each}} +} +type {{out.name}} = { + method: "{{out.method}}", + url: Url, + headers: RequestHeaders, + request: RequestRequestOptions +} +{{/each}} + +{{#childParams}} +export type {{paramTypeName}} = { +{{#params}} + {{{name this}}}: {{{type this}}} +{{/params}} +}; +{{/childParams}} \ No newline at end of file diff --git a/node_modules/@octokit/types/scripts/update-endpoints/typescript.js b/node_modules/@octokit/types/scripts/update-endpoints/typescript.js new file mode 100644 index 0000000..2095c6c --- /dev/null +++ b/node_modules/@octokit/types/scripts/update-endpoints/typescript.js @@ -0,0 +1,179 @@ +const { readFileSync, writeFileSync } = require("fs"); +const { resolve } = require("path"); + +const Handlebars = require("handlebars"); +const set = require("lodash.set"); +const pascalCase = require("pascal-case"); +const prettier = require("prettier"); +const { stringToJsdocComment } = require("string-to-jsdoc-comment"); +const sortKeys = require("sort-keys"); + +const ENDPOINTS = require("./generated/Endpoints.json"); +const ENDPOINTS_PATH = resolve( + process.cwd(), + "src", + "generated", + "Endpoints.ts" +); +const ENDPOINTS_TEMPLATE_PATH = resolve( + process.cwd(), + "scripts", + "update-endpoints", + "templates", + "endpoints.ts.template" +); + +Handlebars.registerHelper("union", function(endpoints, key) { + return endpoints.map(endpoint => endpoint[key]).join(" | "); +}); +Handlebars.registerHelper("name", function(parameter) { + let name = parameter.key; + + if (/[.\[]/.test(name)) { + name = `"${name}"`; + } + + if (parameter.required) { + return name; + } + + return `${name}?`; +}); + +Handlebars.registerHelper("type", function(parameter) { + const type = typeMap[parameter.type] || parameter.type; + + if (parameter.allowNull) { + return `${type} | null`; + } + + return type; +}); +const template = Handlebars.compile( + readFileSync(ENDPOINTS_TEMPLATE_PATH, "utf8") +); + +const endpointsByRoute = {}; + +const typeMap = { + integer: "number", + "integer[]": "number[]" +}; + +for (const endpoint of ENDPOINTS) { + const route = `${endpoint.method} ${endpoint.url.replace( + /\{([^}]+)}/g, + ":$1" + )}`; + + if (!endpointsByRoute[route]) { + endpointsByRoute[route] = []; + } + + endpointsByRoute[route].push({ + optionsTypeName: + pascalCase(`${endpoint.scope} ${endpoint.id}`) + "Endpoint", + requestOptionsTypeName: + pascalCase(`${endpoint.scope} ${endpoint.id}`) + "RequestOptions" + }); +} + +const options = []; +const childParams = {}; + +for (const endpoint of ENDPOINTS) { + const { method, parameters } = endpoint; + + const optionsTypeName = + pascalCase(`${endpoint.scope} ${endpoint.id}`) + "Endpoint"; + const requestOptionsTypeName = + pascalCase(`${endpoint.scope} ${endpoint.id}`) + "RequestOptions"; + + options.push({ + in: { + name: optionsTypeName, + parameters: parameters + .map(parameterize) + // handle "object" & "object[]" types + .map(parameter => { + if (parameter.deprecated) { + return; + } + + const namespacedParamsName = pascalCase( + `${endpoint.scope}.${endpoint.id}.Params` + ); + + if (parameter.type === "object" || parameter.type === "object[]") { + const childParamsName = pascalCase( + `${namespacedParamsName}.${parameter.key}` + ); + + parameter.type = parameter.type.replace("object", childParamsName); + + if (!childParams[childParamsName]) { + childParams[childParamsName] = {}; + } + } + + if (!/\./.test(parameter.key)) { + return parameter; + } + + const childKey = parameter.key.split(".").pop(); + const parentKey = parameter.key.replace(/\.[^.]+$/, ""); + + parameter.key = childKey; + + const childParamsName = pascalCase( + `${namespacedParamsName}.${parentKey}` + ); + set(childParams, `${childParamsName}.${childKey}`, parameter); + }) + .filter(Boolean) + }, + out: { + name: requestOptionsTypeName, + method + } + }); +} + +const result = template({ + endpointsByRoute: sortKeys(endpointsByRoute, { deep: true }), + options, + childParams: Object.keys(childParams).map(key => { + if (key === "GistsCreateParamsFiles") { + debugger; + } + return { + paramTypeName: key, + params: Object.values(childParams[key]) + }; + }) +}); + +writeFileSync( + ENDPOINTS_PATH, + prettier.format(result, { parser: "typescript" }) +); +console.log(`${ENDPOINTS_PATH} updated.`); + +function parameterize(parameter) { + const key = parameter.name; + const type = typeMap[parameter.type] || parameter.type; + const enums = parameter.enum + ? parameter.enum.map(JSON.stringify).join("|") + : null; + + return { + name: pascalCase(key), + key: key, + required: parameter.required, + type: enums || type, + alias: parameter.alias, + deprecated: parameter.deprecated, + allowNull: parameter.allowNull, + jsdoc: stringToJsdocComment(parameter.description) + }; +} diff --git a/node_modules/@octokit/types/src/AuthInterface.ts b/node_modules/@octokit/types/src/AuthInterface.ts new file mode 100644 index 0000000..80db143 --- /dev/null +++ b/node_modules/@octokit/types/src/AuthInterface.ts @@ -0,0 +1,40 @@ +import { EndpointOptions } from "./EndpointOptions"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestInterface } from "./RequestInterface"; +import { RequestParameters } from "./RequestParameters"; +import { 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 { + (options?: any): 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< + OctokitResponse + >; + + /** + * 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/src/EndpointDefaults.ts b/node_modules/@octokit/types/src/EndpointDefaults.ts new file mode 100644 index 0000000..024f6eb --- /dev/null +++ b/node_modules/@octokit/types/src/EndpointDefaults.ts @@ -0,0 +1,22 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestParameters } from "./RequestParameters"; +import { 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/src/EndpointInterface.ts b/node_modules/@octokit/types/src/EndpointInterface.ts new file mode 100644 index 0000000..fee78d6 --- /dev/null +++ b/node_modules/@octokit/types/src/EndpointInterface.ts @@ -0,0 +1,74 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +import { EndpointOptions } from "./EndpointOptions"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; + +import { Endpoints } from "./generated/Endpoints"; + +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic 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: EndpointOptions): RequestOptions; + + /** + * 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, + options?: R extends keyof Endpoints + ? Endpoints[R][0] & RequestParameters + : RequestParameters + ): R extends keyof Endpoints ? Endpoints[R][1] : RequestOptions; + + /** + * Object with current default route and parameters + */ + DEFAULTS: EndpointDefaults; + + /** + * Returns a new `endpoint` with updated route and parameters + */ + defaults: (newDefaults: RequestParameters) => 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: Route, parameters?: RequestParameters): EndpointDefaults; + + /** + * 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: RequestParameters): EndpointDefaults; + + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): 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: EndpointDefaults) => RequestOptions; +} diff --git a/node_modules/@octokit/types/src/EndpointOptions.ts b/node_modules/@octokit/types/src/EndpointOptions.ts new file mode 100644 index 0000000..0170604 --- /dev/null +++ b/node_modules/@octokit/types/src/EndpointOptions.ts @@ -0,0 +1,8 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; + +export type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/types/src/Fetch.ts b/node_modules/@octokit/types/src/Fetch.ts new file mode 100644 index 0000000..983c79b --- /dev/null +++ b/node_modules/@octokit/types/src/Fetch.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export type Fetch = any; diff --git a/node_modules/@octokit/types/src/OctokitResponse.ts b/node_modules/@octokit/types/src/OctokitResponse.ts new file mode 100644 index 0000000..4cec20d --- /dev/null +++ b/node_modules/@octokit/types/src/OctokitResponse.ts @@ -0,0 +1,18 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; + +export type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: number; + /** + * URL of response after all redirects + */ + url: Url; + /** + * This is the data you would see in https://developer.Octokit.com/v3/ + */ + data: T; +}; diff --git a/node_modules/@octokit/types/src/RequestHeaders.ts b/node_modules/@octokit/types/src/RequestHeaders.ts new file mode 100644 index 0000000..0df6636 --- /dev/null +++ b/node_modules/@octokit/types/src/RequestHeaders.ts @@ -0,0 +1,15 @@ +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/src/RequestInterface.ts b/node_modules/@octokit/types/src/RequestInterface.ts new file mode 100644 index 0000000..21bd087 --- /dev/null +++ b/node_modules/@octokit/types/src/RequestInterface.ts @@ -0,0 +1,51 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { EndpointOptions } from "./EndpointOptions"; +import { RequestParameters } from "./RequestParameters"; +import { ResponseHeaders } from "./ResponseHeaders"; +import { Route } from "./Route"; +import { Url } from "./Url"; + +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: EndpointOptions): 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: Route, parameters?: RequestParameters): Promise< + OctokitResponse + >; + + /** + * Returns a new `endpoint` with updated route and parameters + */ + defaults: (newDefaults: RequestParameters) => RequestInterface; + + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} + +export type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: number; + /** + * URL of response after all redirects + */ + url: Url; + /** + * This is the data you would see in https://developer.Octokit.com/v3/ + */ + data: T; +}; diff --git a/node_modules/@octokit/types/src/RequestMethod.ts b/node_modules/@octokit/types/src/RequestMethod.ts new file mode 100644 index 0000000..2910435 --- /dev/null +++ b/node_modules/@octokit/types/src/RequestMethod.ts @@ -0,0 +1,10 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export type RequestMethod = + | "DELETE" + | "GET" + | "HEAD" + | "PATCH" + | "POST" + | "PUT"; diff --git a/node_modules/@octokit/types/src/RequestOptions.ts b/node_modules/@octokit/types/src/RequestOptions.ts new file mode 100644 index 0000000..4d765c0 --- /dev/null +++ b/node_modules/@octokit/types/src/RequestOptions.ts @@ -0,0 +1,15 @@ +import { RequestHeaders } from "./RequestHeaders"; +import { RequestMethod } from "./RequestMethod"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { 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/src/RequestParameters.ts b/node_modules/@octokit/types/src/RequestParameters.ts new file mode 100644 index 0000000..9766be0 --- /dev/null +++ b/node_modules/@octokit/types/src/RequestParameters.ts @@ -0,0 +1,46 @@ +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { RequestHeaders } from "./RequestHeaders"; +import { 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://developer.github.com/v3/media/|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]: any; +}; diff --git a/node_modules/@octokit/types/src/RequestRequestOptions.ts b/node_modules/@octokit/types/src/RequestRequestOptions.ts new file mode 100644 index 0000000..028d6f7 --- /dev/null +++ b/node_modules/@octokit/types/src/RequestRequestOptions.ts @@ -0,0 +1,27 @@ +import { Agent } from "http"; +import { Fetch } from "./Fetch"; +import { 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 = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + */ + agent?: Agent; + /** + * 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; + /** + * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead. + */ + timeout?: number; + + [option: string]: any; +}; diff --git a/node_modules/@octokit/types/src/ResponseHeaders.ts b/node_modules/@octokit/types/src/ResponseHeaders.ts new file mode 100644 index 0000000..17267b6 --- /dev/null +++ b/node_modules/@octokit/types/src/ResponseHeaders.ts @@ -0,0 +1,21 @@ +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/src/Route.ts b/node_modules/@octokit/types/src/Route.ts new file mode 100644 index 0000000..c5229a8 --- /dev/null +++ b/node_modules/@octokit/types/src/Route.ts @@ -0,0 +1,4 @@ +/** + * 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/src/Signal.ts b/node_modules/@octokit/types/src/Signal.ts new file mode 100644 index 0000000..bdf9700 --- /dev/null +++ b/node_modules/@octokit/types/src/Signal.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export type Signal = any; diff --git a/node_modules/@octokit/types/src/Url.ts b/node_modules/@octokit/types/src/Url.ts new file mode 100644 index 0000000..9d228cb --- /dev/null +++ b/node_modules/@octokit/types/src/Url.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export type Url = string; diff --git a/node_modules/@octokit/types/src/VERSION.ts b/node_modules/@octokit/types/src/VERSION.ts new file mode 100644 index 0000000..f5da581 --- /dev/null +++ b/node_modules/@octokit/types/src/VERSION.ts @@ -0,0 +1 @@ +export const VERSION = "1.1.0"; diff --git a/node_modules/@octokit/types/src/generated/Endpoints.ts b/node_modules/@octokit/types/src/generated/Endpoints.ts new file mode 100644 index 0000000..3aec914 --- /dev/null +++ b/node_modules/@octokit/types/src/generated/Endpoints.ts @@ -0,0 +1,14190 @@ +// DO NOT EDIT THIS FILE +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +import { Url } from "../Url"; + +export interface Endpoints { + "DELETE /app/installations/:installation_id": [ + AppsDeleteInstallationEndpoint, + AppsDeleteInstallationRequestOptions + ]; + "DELETE /applications/:client_id/grants/:access_token": [ + OauthAuthorizationsRevokeGrantForApplicationEndpoint, + OauthAuthorizationsRevokeGrantForApplicationRequestOptions + ]; + "DELETE /applications/:client_id/tokens/:access_token": [ + OauthAuthorizationsRevokeAuthorizationForApplicationEndpoint, + OauthAuthorizationsRevokeAuthorizationForApplicationRequestOptions + ]; + "DELETE /applications/grants/:grant_id": [ + OauthAuthorizationsDeleteGrantEndpoint, + OauthAuthorizationsDeleteGrantRequestOptions + ]; + "DELETE /authorizations/:authorization_id": [ + OauthAuthorizationsDeleteAuthorizationEndpoint, + OauthAuthorizationsDeleteAuthorizationRequestOptions + ]; + "DELETE /gists/:gist_id": [GistsDeleteEndpoint, GistsDeleteRequestOptions]; + "DELETE /gists/:gist_id/comments/:comment_id": [ + GistsDeleteCommentEndpoint, + GistsDeleteCommentRequestOptions + ]; + "DELETE /gists/:gist_id/star": [ + GistsUnstarEndpoint, + GistsUnstarRequestOptions + ]; + "DELETE /notifications/threads/:thread_id/subscription": [ + ActivityDeleteThreadSubscriptionEndpoint, + ActivityDeleteThreadSubscriptionRequestOptions + ]; + "DELETE /orgs/:org/blocks/:username": [ + OrgsUnblockUserEndpoint, + OrgsUnblockUserRequestOptions + ]; + "DELETE /orgs/:org/credential-authorizations/:credential_id": [ + OrgsRemoveCredentialAuthorizationEndpoint, + OrgsRemoveCredentialAuthorizationRequestOptions + ]; + "DELETE /orgs/:org/hooks/:hook_id": [ + OrgsDeleteHookEndpoint, + OrgsDeleteHookRequestOptions + ]; + "DELETE /orgs/:org/interaction-limits": [ + InteractionsRemoveRestrictionsForOrgEndpoint, + InteractionsRemoveRestrictionsForOrgRequestOptions + ]; + "DELETE /orgs/:org/members/:username": [ + OrgsRemoveMemberEndpoint, + OrgsRemoveMemberRequestOptions + ]; + "DELETE /orgs/:org/memberships/:username": [ + OrgsRemoveMembershipEndpoint, + OrgsRemoveMembershipRequestOptions + ]; + "DELETE /orgs/:org/migrations/:migration_id/archive": [ + MigrationsDeleteArchiveForOrgEndpoint, + MigrationsDeleteArchiveForOrgRequestOptions + ]; + "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": [ + MigrationsUnlockRepoForOrgEndpoint, + MigrationsUnlockRepoForOrgRequestOptions + ]; + "DELETE /orgs/:org/outside_collaborators/:username": [ + OrgsRemoveOutsideCollaboratorEndpoint, + OrgsRemoveOutsideCollaboratorRequestOptions + ]; + "DELETE /orgs/:org/public_members/:username": [ + OrgsConcealMembershipEndpoint, + OrgsConcealMembershipRequestOptions + ]; + "DELETE /projects/:project_id": [ + ProjectsDeleteEndpoint, + ProjectsDeleteRequestOptions + ]; + "DELETE /projects/:project_id/collaborators/:username": [ + ProjectsRemoveCollaboratorEndpoint, + ProjectsRemoveCollaboratorRequestOptions + ]; + "DELETE /projects/columns/:column_id": [ + ProjectsDeleteColumnEndpoint, + ProjectsDeleteColumnRequestOptions + ]; + "DELETE /projects/columns/cards/:card_id": [ + ProjectsDeleteCardEndpoint, + ProjectsDeleteCardRequestOptions + ]; + "DELETE /reactions/:reaction_id": [ + ReactionsDeleteEndpoint, + ReactionsDeleteRequestOptions + ]; + "DELETE /repos/:owner/:repo": [ + ReposDeleteEndpoint, + ReposDeleteRequestOptions + ]; + "DELETE /repos/:owner/:repo/automated-security-fixes": [ + ReposDisableAutomatedSecurityFixesEndpoint, + ReposDisableAutomatedSecurityFixesRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection": [ + ReposRemoveBranchProtectionEndpoint, + ReposRemoveBranchProtectionRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ + ReposRemoveProtectedBranchAdminEnforcementEndpoint, + ReposRemoveProtectedBranchAdminEnforcementRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ + ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint, + ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ + ReposRemoveProtectedBranchRequiredSignaturesEndpoint, + ReposRemoveProtectedBranchRequiredSignaturesRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ + ReposRemoveProtectedBranchRequiredStatusChecksEndpoint, + ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ + ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint, + ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": [ + ReposRemoveProtectedBranchRestrictionsEndpoint, + ReposRemoveProtectedBranchRestrictionsRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": [ + ReposRemoveProtectedBranchAppRestrictionsEndpoint, + ReposRemoveProtectedBranchAppRestrictionsRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ + ReposRemoveProtectedBranchTeamRestrictionsEndpoint, + ReposRemoveProtectedBranchTeamRestrictionsRequestOptions + ]; + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ + ReposRemoveProtectedBranchUserRestrictionsEndpoint, + ReposRemoveProtectedBranchUserRestrictionsRequestOptions + ]; + "DELETE /repos/:owner/:repo/collaborators/:username": [ + ReposRemoveCollaboratorEndpoint, + ReposRemoveCollaboratorRequestOptions + ]; + "DELETE /repos/:owner/:repo/comments/:comment_id": [ + ReposDeleteCommitCommentEndpoint, + ReposDeleteCommitCommentRequestOptions + ]; + "DELETE /repos/:owner/:repo/contents/:path": [ + ReposDeleteFileEndpoint, + ReposDeleteFileRequestOptions + ]; + "DELETE /repos/:owner/:repo/downloads/:download_id": [ + ReposDeleteDownloadEndpoint, + ReposDeleteDownloadRequestOptions + ]; + "DELETE /repos/:owner/:repo/git/refs/:ref": [ + GitDeleteRefEndpoint, + GitDeleteRefRequestOptions + ]; + "DELETE /repos/:owner/:repo/hooks/:hook_id": [ + ReposDeleteHookEndpoint, + ReposDeleteHookRequestOptions + ]; + "DELETE /repos/:owner/:repo/import": [ + MigrationsCancelImportEndpoint, + MigrationsCancelImportRequestOptions + ]; + "DELETE /repos/:owner/:repo/interaction-limits": [ + InteractionsRemoveRestrictionsForRepoEndpoint, + InteractionsRemoveRestrictionsForRepoRequestOptions + ]; + "DELETE /repos/:owner/:repo/invitations/:invitation_id": [ + ReposDeleteInvitationEndpoint, + ReposDeleteInvitationRequestOptions + ]; + "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": [ + IssuesRemoveAssigneesEndpoint, + IssuesRemoveAssigneesRequestOptions + ]; + "DELETE /repos/:owner/:repo/issues/:issue_number/labels": [ + IssuesRemoveLabelsEndpoint, + IssuesRemoveLabelsRequestOptions + ]; + "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": [ + IssuesRemoveLabelEndpoint, + IssuesRemoveLabelRequestOptions + ]; + "DELETE /repos/:owner/:repo/issues/:issue_number/lock": [ + IssuesUnlockEndpoint, + IssuesUnlockRequestOptions + ]; + "DELETE /repos/:owner/:repo/issues/comments/:comment_id": [ + IssuesDeleteCommentEndpoint, + IssuesDeleteCommentRequestOptions + ]; + "DELETE /repos/:owner/:repo/keys/:key_id": [ + ReposRemoveDeployKeyEndpoint, + ReposRemoveDeployKeyRequestOptions + ]; + "DELETE /repos/:owner/:repo/labels/:name": [ + IssuesDeleteLabelEndpoint, + IssuesDeleteLabelRequestOptions + ]; + "DELETE /repos/:owner/:repo/milestones/:milestone_number": [ + IssuesDeleteMilestoneEndpoint, + IssuesDeleteMilestoneRequestOptions + ]; + "DELETE /repos/:owner/:repo/pages": [ + ReposDisablePagesSiteEndpoint, + ReposDisablePagesSiteRequestOptions + ]; + "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [ + PullsDeleteReviewRequestEndpoint, + PullsDeleteReviewRequestRequestOptions + ]; + "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [ + PullsDeletePendingReviewEndpoint, + PullsDeletePendingReviewRequestOptions + ]; + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": [ + PullsDeleteCommentEndpoint, + PullsDeleteCommentRequestOptions + ]; + "DELETE /repos/:owner/:repo/releases/:release_id": [ + ReposDeleteReleaseEndpoint, + ReposDeleteReleaseRequestOptions + ]; + "DELETE /repos/:owner/:repo/releases/assets/:asset_id": [ + ReposDeleteReleaseAssetEndpoint, + ReposDeleteReleaseAssetRequestOptions + ]; + "DELETE /repos/:owner/:repo/subscription": [ + ActivityDeleteRepoSubscriptionEndpoint, + ActivityDeleteRepoSubscriptionRequestOptions + ]; + "DELETE /repos/:owner/:repo/vulnerability-alerts": [ + ReposDisableVulnerabilityAlertsEndpoint, + ReposDisableVulnerabilityAlertsRequestOptions + ]; + "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": [ + ScimRemoveUserFromOrgEndpoint, + ScimRemoveUserFromOrgRequestOptions + ]; + "DELETE /teams/:team_id": [TeamsDeleteEndpoint, TeamsDeleteRequestOptions]; + "DELETE /teams/:team_id/discussions/:discussion_number": [ + TeamsDeleteDiscussionEndpoint, + TeamsDeleteDiscussionRequestOptions + ]; + "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [ + TeamsDeleteDiscussionCommentEndpoint, + TeamsDeleteDiscussionCommentRequestOptions + ]; + "DELETE /teams/:team_id/members/:username": [ + TeamsRemoveMemberEndpoint, + TeamsRemoveMemberRequestOptions + ]; + "DELETE /teams/:team_id/memberships/:username": [ + TeamsRemoveMembershipEndpoint, + TeamsRemoveMembershipRequestOptions + ]; + "DELETE /teams/:team_id/projects/:project_id": [ + TeamsRemoveProjectEndpoint, + TeamsRemoveProjectRequestOptions + ]; + "DELETE /teams/:team_id/repos/:owner/:repo": [ + TeamsRemoveRepoEndpoint, + TeamsRemoveRepoRequestOptions + ]; + "DELETE /user/blocks/:username": [ + UsersUnblockEndpoint, + UsersUnblockRequestOptions + ]; + "DELETE /user/emails": [ + UsersDeleteEmailsEndpoint, + UsersDeleteEmailsRequestOptions + ]; + "DELETE /user/following/:username": [ + UsersUnfollowEndpoint, + UsersUnfollowRequestOptions + ]; + "DELETE /user/gpg_keys/:gpg_key_id": [ + UsersDeleteGpgKeyEndpoint, + UsersDeleteGpgKeyRequestOptions + ]; + "DELETE /user/installations/:installation_id/repositories/:repository_id": [ + AppsRemoveRepoFromInstallationEndpoint, + AppsRemoveRepoFromInstallationRequestOptions + ]; + "DELETE /user/keys/:key_id": [ + UsersDeletePublicKeyEndpoint, + UsersDeletePublicKeyRequestOptions + ]; + "DELETE /user/migrations/:migration_id/archive": [ + MigrationsDeleteArchiveForAuthenticatedUserEndpoint, + MigrationsDeleteArchiveForAuthenticatedUserRequestOptions + ]; + "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": [ + MigrationsUnlockRepoForAuthenticatedUserEndpoint, + MigrationsUnlockRepoForAuthenticatedUserRequestOptions + ]; + "DELETE /user/repository_invitations/:invitation_id": [ + ReposDeclineInvitationEndpoint, + ReposDeclineInvitationRequestOptions + ]; + "DELETE /user/starred/:owner/:repo": [ + ActivityUnstarRepoEndpoint, + ActivityUnstarRepoRequestOptions + ]; + "DELETE /user/subscriptions/:owner/:repo": [ + ActivityStopWatchingRepoLegacyEndpoint, + ActivityStopWatchingRepoLegacyRequestOptions + ]; + "GET /app": [ + AppsGetAuthenticatedEndpoint, + AppsGetAuthenticatedRequestOptions + ]; + "GET /app/installations": [ + AppsListInstallationsEndpoint, + AppsListInstallationsRequestOptions + ]; + "GET /app/installations/:installation_id": [ + AppsGetInstallationEndpoint, + AppsGetInstallationRequestOptions + ]; + "GET /applications/:client_id/tokens/:access_token": [ + OauthAuthorizationsCheckAuthorizationEndpoint, + OauthAuthorizationsCheckAuthorizationRequestOptions + ]; + "GET /applications/grants": [ + OauthAuthorizationsListGrantsEndpoint, + OauthAuthorizationsListGrantsRequestOptions + ]; + "GET /applications/grants/:grant_id": [ + OauthAuthorizationsGetGrantEndpoint, + OauthAuthorizationsGetGrantRequestOptions + ]; + "GET /apps/:app_slug": [AppsGetBySlugEndpoint, AppsGetBySlugRequestOptions]; + "GET /authorizations": [ + OauthAuthorizationsListAuthorizationsEndpoint, + OauthAuthorizationsListAuthorizationsRequestOptions + ]; + "GET /authorizations/:authorization_id": [ + OauthAuthorizationsGetAuthorizationEndpoint, + OauthAuthorizationsGetAuthorizationRequestOptions + ]; + "GET /codes_of_conduct": [ + CodesOfConductListConductCodesEndpoint, + CodesOfConductListConductCodesRequestOptions + ]; + "GET /codes_of_conduct/:key": [ + CodesOfConductGetConductCodeEndpoint, + CodesOfConductGetConductCodeRequestOptions + ]; + "GET /emojis": [EmojisGetEndpoint, EmojisGetRequestOptions]; + "GET /events": [ + ActivityListPublicEventsEndpoint, + ActivityListPublicEventsRequestOptions + ]; + "GET /feeds": [ActivityListFeedsEndpoint, ActivityListFeedsRequestOptions]; + "GET /gists": [GistsListEndpoint, GistsListRequestOptions]; + "GET /gists/:gist_id": [GistsGetEndpoint, GistsGetRequestOptions]; + "GET /gists/:gist_id/:sha": [ + GistsGetRevisionEndpoint, + GistsGetRevisionRequestOptions + ]; + "GET /gists/:gist_id/comments": [ + GistsListCommentsEndpoint, + GistsListCommentsRequestOptions + ]; + "GET /gists/:gist_id/comments/:comment_id": [ + GistsGetCommentEndpoint, + GistsGetCommentRequestOptions + ]; + "GET /gists/:gist_id/commits": [ + GistsListCommitsEndpoint, + GistsListCommitsRequestOptions + ]; + "GET /gists/:gist_id/forks": [ + GistsListForksEndpoint, + GistsListForksRequestOptions + ]; + "GET /gists/:gist_id/star": [ + GistsCheckIsStarredEndpoint, + GistsCheckIsStarredRequestOptions + ]; + "GET /gists/public": [GistsListPublicEndpoint, GistsListPublicRequestOptions]; + "GET /gists/starred": [ + GistsListStarredEndpoint, + GistsListStarredRequestOptions + ]; + "GET /gitignore/templates": [ + GitignoreListTemplatesEndpoint, + GitignoreListTemplatesRequestOptions + ]; + "GET /gitignore/templates/:name": [ + GitignoreGetTemplateEndpoint, + GitignoreGetTemplateRequestOptions + ]; + "GET /installation/repositories": [ + AppsListReposEndpoint, + AppsListReposRequestOptions + ]; + "GET /issues": [IssuesListEndpoint, IssuesListRequestOptions]; + "GET /legacy/issues/search/:owner/:repository/:state/:keyword": [ + SearchIssuesLegacyEndpoint, + SearchIssuesLegacyRequestOptions + ]; + "GET /legacy/repos/search/:keyword": [ + SearchReposLegacyEndpoint, + SearchReposLegacyRequestOptions + ]; + "GET /legacy/user/email/:email": [ + SearchEmailLegacyEndpoint, + SearchEmailLegacyRequestOptions + ]; + "GET /legacy/user/search/:keyword": [ + SearchUsersLegacyEndpoint, + SearchUsersLegacyRequestOptions + ]; + "GET /licenses": [ + LicensesListCommonlyUsedEndpoint | LicensesListEndpoint, + LicensesListCommonlyUsedRequestOptions | LicensesListRequestOptions + ]; + "GET /licenses/:license": [LicensesGetEndpoint, LicensesGetRequestOptions]; + "GET /marketplace_listing/accounts/:account_id": [ + AppsCheckAccountIsAssociatedWithAnyEndpoint, + AppsCheckAccountIsAssociatedWithAnyRequestOptions + ]; + "GET /marketplace_listing/plans": [ + AppsListPlansEndpoint, + AppsListPlansRequestOptions + ]; + "GET /marketplace_listing/plans/:plan_id/accounts": [ + AppsListAccountsUserOrOrgOnPlanEndpoint, + AppsListAccountsUserOrOrgOnPlanRequestOptions + ]; + "GET /marketplace_listing/stubbed/accounts/:account_id": [ + AppsCheckAccountIsAssociatedWithAnyStubbedEndpoint, + AppsCheckAccountIsAssociatedWithAnyStubbedRequestOptions + ]; + "GET /marketplace_listing/stubbed/plans": [ + AppsListPlansStubbedEndpoint, + AppsListPlansStubbedRequestOptions + ]; + "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": [ + AppsListAccountsUserOrOrgOnPlanStubbedEndpoint, + AppsListAccountsUserOrOrgOnPlanStubbedRequestOptions + ]; + "GET /meta": [MetaGetEndpoint, MetaGetRequestOptions]; + "GET /networks/:owner/:repo/events": [ + ActivityListPublicEventsForRepoNetworkEndpoint, + ActivityListPublicEventsForRepoNetworkRequestOptions + ]; + "GET /notifications": [ + ActivityListNotificationsEndpoint, + ActivityListNotificationsRequestOptions + ]; + "GET /notifications/threads/:thread_id": [ + ActivityGetThreadEndpoint, + ActivityGetThreadRequestOptions + ]; + "GET /notifications/threads/:thread_id/subscription": [ + ActivityGetThreadSubscriptionEndpoint, + ActivityGetThreadSubscriptionRequestOptions + ]; + "GET /organizations": [OrgsListEndpoint, OrgsListRequestOptions]; + "GET /orgs/:org": [OrgsGetEndpoint, OrgsGetRequestOptions]; + "GET /orgs/:org/blocks": [ + OrgsListBlockedUsersEndpoint, + OrgsListBlockedUsersRequestOptions + ]; + "GET /orgs/:org/blocks/:username": [ + OrgsCheckBlockedUserEndpoint, + OrgsCheckBlockedUserRequestOptions + ]; + "GET /orgs/:org/credential-authorizations": [ + OrgsListCredentialAuthorizationsEndpoint, + OrgsListCredentialAuthorizationsRequestOptions + ]; + "GET /orgs/:org/events": [ + ActivityListPublicEventsForOrgEndpoint, + ActivityListPublicEventsForOrgRequestOptions + ]; + "GET /orgs/:org/hooks": [OrgsListHooksEndpoint, OrgsListHooksRequestOptions]; + "GET /orgs/:org/hooks/:hook_id": [ + OrgsGetHookEndpoint, + OrgsGetHookRequestOptions + ]; + "GET /orgs/:org/installation": [ + AppsGetOrgInstallationEndpoint | AppsFindOrgInstallationEndpoint, + AppsGetOrgInstallationRequestOptions | AppsFindOrgInstallationRequestOptions + ]; + "GET /orgs/:org/interaction-limits": [ + InteractionsGetRestrictionsForOrgEndpoint, + InteractionsGetRestrictionsForOrgRequestOptions + ]; + "GET /orgs/:org/invitations": [ + OrgsListPendingInvitationsEndpoint, + OrgsListPendingInvitationsRequestOptions + ]; + "GET /orgs/:org/invitations/:invitation_id/teams": [ + OrgsListInvitationTeamsEndpoint, + OrgsListInvitationTeamsRequestOptions + ]; + "GET /orgs/:org/issues": [ + IssuesListForOrgEndpoint, + IssuesListForOrgRequestOptions + ]; + "GET /orgs/:org/members": [ + OrgsListMembersEndpoint, + OrgsListMembersRequestOptions + ]; + "GET /orgs/:org/members/:username": [ + OrgsCheckMembershipEndpoint, + OrgsCheckMembershipRequestOptions + ]; + "GET /orgs/:org/memberships/:username": [ + OrgsGetMembershipEndpoint, + OrgsGetMembershipRequestOptions + ]; + "GET /orgs/:org/migrations": [ + MigrationsListForOrgEndpoint, + MigrationsListForOrgRequestOptions + ]; + "GET /orgs/:org/migrations/:migration_id": [ + MigrationsGetStatusForOrgEndpoint, + MigrationsGetStatusForOrgRequestOptions + ]; + "GET /orgs/:org/migrations/:migration_id/archive": [ + MigrationsGetArchiveForOrgEndpoint, + MigrationsGetArchiveForOrgRequestOptions + ]; + "GET /orgs/:org/outside_collaborators": [ + OrgsListOutsideCollaboratorsEndpoint, + OrgsListOutsideCollaboratorsRequestOptions + ]; + "GET /orgs/:org/projects": [ + ProjectsListForOrgEndpoint, + ProjectsListForOrgRequestOptions + ]; + "GET /orgs/:org/public_members": [ + OrgsListPublicMembersEndpoint, + OrgsListPublicMembersRequestOptions + ]; + "GET /orgs/:org/public_members/:username": [ + OrgsCheckPublicMembershipEndpoint, + OrgsCheckPublicMembershipRequestOptions + ]; + "GET /orgs/:org/repos": [ + ReposListForOrgEndpoint, + ReposListForOrgRequestOptions + ]; + "GET /orgs/:org/team-sync/groups": [ + TeamsListIdPGroupsForOrgEndpoint, + TeamsListIdPGroupsForOrgRequestOptions + ]; + "GET /orgs/:org/teams": [TeamsListEndpoint, TeamsListRequestOptions]; + "GET /orgs/:org/teams/:team_slug": [ + TeamsGetByNameEndpoint, + TeamsGetByNameRequestOptions + ]; + "GET /projects/:project_id": [ProjectsGetEndpoint, ProjectsGetRequestOptions]; + "GET /projects/:project_id/collaborators": [ + ProjectsListCollaboratorsEndpoint, + ProjectsListCollaboratorsRequestOptions + ]; + "GET /projects/:project_id/collaborators/:username/permission": [ + ProjectsReviewUserPermissionLevelEndpoint, + ProjectsReviewUserPermissionLevelRequestOptions + ]; + "GET /projects/:project_id/columns": [ + ProjectsListColumnsEndpoint, + ProjectsListColumnsRequestOptions + ]; + "GET /projects/columns/:column_id": [ + ProjectsGetColumnEndpoint, + ProjectsGetColumnRequestOptions + ]; + "GET /projects/columns/:column_id/cards": [ + ProjectsListCardsEndpoint, + ProjectsListCardsRequestOptions + ]; + "GET /projects/columns/cards/:card_id": [ + ProjectsGetCardEndpoint, + ProjectsGetCardRequestOptions + ]; + "GET /rate_limit": [RateLimitGetEndpoint, RateLimitGetRequestOptions]; + "GET /repos/:owner/:repo": [ReposGetEndpoint, ReposGetRequestOptions]; + "GET /repos/:owner/:repo/:archive_format/:ref": [ + ReposGetArchiveLinkEndpoint, + ReposGetArchiveLinkRequestOptions + ]; + "GET /repos/:owner/:repo/assignees": [ + IssuesListAssigneesEndpoint, + IssuesListAssigneesRequestOptions + ]; + "GET /repos/:owner/:repo/assignees/:assignee": [ + IssuesCheckAssigneeEndpoint, + IssuesCheckAssigneeRequestOptions + ]; + "GET /repos/:owner/:repo/branches": [ + ReposListBranchesEndpoint, + ReposListBranchesRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch": [ + ReposGetBranchEndpoint, + ReposGetBranchRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection": [ + ReposGetBranchProtectionEndpoint, + ReposGetBranchProtectionRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ + ReposGetProtectedBranchAdminEnforcementEndpoint, + ReposGetProtectedBranchAdminEnforcementRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ + ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint, + ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ + ReposGetProtectedBranchRequiredSignaturesEndpoint, + ReposGetProtectedBranchRequiredSignaturesRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ + ReposGetProtectedBranchRequiredStatusChecksEndpoint, + ReposGetProtectedBranchRequiredStatusChecksRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ + ReposListProtectedBranchRequiredStatusChecksContextsEndpoint, + ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": [ + ReposGetProtectedBranchRestrictionsEndpoint, + ReposGetProtectedBranchRestrictionsRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": [ + + | ReposGetAppsWithAccessToProtectedBranchEndpoint + | ReposListAppsWithAccessToProtectedBranchEndpoint, + + | ReposGetAppsWithAccessToProtectedBranchRequestOptions + | ReposListAppsWithAccessToProtectedBranchRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ + + | ReposGetTeamsWithAccessToProtectedBranchEndpoint + | ReposListProtectedBranchTeamRestrictionsEndpoint + | ReposListTeamsWithAccessToProtectedBranchEndpoint, + + | ReposGetTeamsWithAccessToProtectedBranchRequestOptions + | ReposListProtectedBranchTeamRestrictionsRequestOptions + | ReposListTeamsWithAccessToProtectedBranchRequestOptions + ]; + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ + + | ReposGetUsersWithAccessToProtectedBranchEndpoint + | ReposListProtectedBranchUserRestrictionsEndpoint + | ReposListUsersWithAccessToProtectedBranchEndpoint, + + | ReposGetUsersWithAccessToProtectedBranchRequestOptions + | ReposListProtectedBranchUserRestrictionsRequestOptions + | ReposListUsersWithAccessToProtectedBranchRequestOptions + ]; + "GET /repos/:owner/:repo/check-runs/:check_run_id": [ + ChecksGetEndpoint, + ChecksGetRequestOptions + ]; + "GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": [ + ChecksListAnnotationsEndpoint, + ChecksListAnnotationsRequestOptions + ]; + "GET /repos/:owner/:repo/check-suites/:check_suite_id": [ + ChecksGetSuiteEndpoint, + ChecksGetSuiteRequestOptions + ]; + "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": [ + ChecksListForSuiteEndpoint, + ChecksListForSuiteRequestOptions + ]; + "GET /repos/:owner/:repo/collaborators": [ + ReposListCollaboratorsEndpoint, + ReposListCollaboratorsRequestOptions + ]; + "GET /repos/:owner/:repo/collaborators/:username": [ + ReposCheckCollaboratorEndpoint, + ReposCheckCollaboratorRequestOptions + ]; + "GET /repos/:owner/:repo/collaborators/:username/permission": [ + ReposGetCollaboratorPermissionLevelEndpoint, + ReposGetCollaboratorPermissionLevelRequestOptions + ]; + "GET /repos/:owner/:repo/comments": [ + ReposListCommitCommentsEndpoint, + ReposListCommitCommentsRequestOptions + ]; + "GET /repos/:owner/:repo/comments/:comment_id": [ + ReposGetCommitCommentEndpoint, + ReposGetCommitCommentRequestOptions + ]; + "GET /repos/:owner/:repo/comments/:comment_id/reactions": [ + ReactionsListForCommitCommentEndpoint, + ReactionsListForCommitCommentRequestOptions + ]; + "GET /repos/:owner/:repo/commits": [ + ReposListCommitsEndpoint, + ReposListCommitsRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": [ + ReposListBranchesForHeadCommitEndpoint, + ReposListBranchesForHeadCommitRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:commit_sha/comments": [ + ReposListCommentsForCommitEndpoint, + ReposListCommentsForCommitRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:commit_sha/pulls": [ + ReposListPullRequestsAssociatedWithCommitEndpoint, + ReposListPullRequestsAssociatedWithCommitRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:ref": [ + ReposGetCommitEndpoint, + ReposGetCommitRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:ref/check-runs": [ + ChecksListForRefEndpoint, + ChecksListForRefRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:ref/check-suites": [ + ChecksListSuitesForRefEndpoint, + ChecksListSuitesForRefRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:ref/status": [ + ReposGetCombinedStatusForRefEndpoint, + ReposGetCombinedStatusForRefRequestOptions + ]; + "GET /repos/:owner/:repo/commits/:ref/statuses": [ + ReposListStatusesForRefEndpoint, + ReposListStatusesForRefRequestOptions + ]; + "GET /repos/:owner/:repo/community/code_of_conduct": [ + CodesOfConductGetForRepoEndpoint, + CodesOfConductGetForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/community/profile": [ + ReposRetrieveCommunityProfileMetricsEndpoint, + ReposRetrieveCommunityProfileMetricsRequestOptions + ]; + "GET /repos/:owner/:repo/compare/:base...:head": [ + ReposCompareCommitsEndpoint, + ReposCompareCommitsRequestOptions + ]; + "GET /repos/:owner/:repo/contents/:path": [ + ReposGetContentsEndpoint, + ReposGetContentsRequestOptions + ]; + "GET /repos/:owner/:repo/contributors": [ + ReposListContributorsEndpoint, + ReposListContributorsRequestOptions + ]; + "GET /repos/:owner/:repo/deployments": [ + ReposListDeploymentsEndpoint, + ReposListDeploymentsRequestOptions + ]; + "GET /repos/:owner/:repo/deployments/:deployment_id": [ + ReposGetDeploymentEndpoint, + ReposGetDeploymentRequestOptions + ]; + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": [ + ReposListDeploymentStatusesEndpoint, + ReposListDeploymentStatusesRequestOptions + ]; + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": [ + ReposGetDeploymentStatusEndpoint, + ReposGetDeploymentStatusRequestOptions + ]; + "GET /repos/:owner/:repo/downloads": [ + ReposListDownloadsEndpoint, + ReposListDownloadsRequestOptions + ]; + "GET /repos/:owner/:repo/downloads/:download_id": [ + ReposGetDownloadEndpoint, + ReposGetDownloadRequestOptions + ]; + "GET /repos/:owner/:repo/events": [ + ActivityListRepoEventsEndpoint, + ActivityListRepoEventsRequestOptions + ]; + "GET /repos/:owner/:repo/forks": [ + ReposListForksEndpoint, + ReposListForksRequestOptions + ]; + "GET /repos/:owner/:repo/git/blobs/:file_sha": [ + GitGetBlobEndpoint, + GitGetBlobRequestOptions + ]; + "GET /repos/:owner/:repo/git/commits/:commit_sha": [ + GitGetCommitEndpoint, + GitGetCommitRequestOptions + ]; + "GET /repos/:owner/:repo/git/matching-refs/:ref": [ + GitListMatchingRefsEndpoint, + GitListMatchingRefsRequestOptions + ]; + "GET /repos/:owner/:repo/git/ref/:ref": [ + GitGetRefEndpoint, + GitGetRefRequestOptions + ]; + "GET /repos/:owner/:repo/git/tags/:tag_sha": [ + GitGetTagEndpoint, + GitGetTagRequestOptions + ]; + "GET /repos/:owner/:repo/git/trees/:tree_sha": [ + GitGetTreeEndpoint, + GitGetTreeRequestOptions + ]; + "GET /repos/:owner/:repo/hooks": [ + ReposListHooksEndpoint, + ReposListHooksRequestOptions + ]; + "GET /repos/:owner/:repo/hooks/:hook_id": [ + ReposGetHookEndpoint, + ReposGetHookRequestOptions + ]; + "GET /repos/:owner/:repo/import": [ + MigrationsGetImportProgressEndpoint, + MigrationsGetImportProgressRequestOptions + ]; + "GET /repos/:owner/:repo/import/authors": [ + MigrationsGetCommitAuthorsEndpoint, + MigrationsGetCommitAuthorsRequestOptions + ]; + "GET /repos/:owner/:repo/import/large_files": [ + MigrationsGetLargeFilesEndpoint, + MigrationsGetLargeFilesRequestOptions + ]; + "GET /repos/:owner/:repo/installation": [ + AppsGetRepoInstallationEndpoint | AppsFindRepoInstallationEndpoint, + + | AppsGetRepoInstallationRequestOptions + | AppsFindRepoInstallationRequestOptions + ]; + "GET /repos/:owner/:repo/interaction-limits": [ + InteractionsGetRestrictionsForRepoEndpoint, + InteractionsGetRestrictionsForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/invitations": [ + ReposListInvitationsEndpoint, + ReposListInvitationsRequestOptions + ]; + "GET /repos/:owner/:repo/issues": [ + IssuesListForRepoEndpoint, + IssuesListForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/issues/:issue_number": [ + IssuesGetEndpoint, + IssuesGetRequestOptions + ]; + "GET /repos/:owner/:repo/issues/:issue_number/comments": [ + IssuesListCommentsEndpoint, + IssuesListCommentsRequestOptions + ]; + "GET /repos/:owner/:repo/issues/:issue_number/events": [ + IssuesListEventsEndpoint, + IssuesListEventsRequestOptions + ]; + "GET /repos/:owner/:repo/issues/:issue_number/labels": [ + IssuesListLabelsOnIssueEndpoint, + IssuesListLabelsOnIssueRequestOptions + ]; + "GET /repos/:owner/:repo/issues/:issue_number/reactions": [ + ReactionsListForIssueEndpoint, + ReactionsListForIssueRequestOptions + ]; + "GET /repos/:owner/:repo/issues/:issue_number/timeline": [ + IssuesListEventsForTimelineEndpoint, + IssuesListEventsForTimelineRequestOptions + ]; + "GET /repos/:owner/:repo/issues/comments": [ + IssuesListCommentsForRepoEndpoint, + IssuesListCommentsForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/issues/comments/:comment_id": [ + IssuesGetCommentEndpoint, + IssuesGetCommentRequestOptions + ]; + "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": [ + ReactionsListForIssueCommentEndpoint, + ReactionsListForIssueCommentRequestOptions + ]; + "GET /repos/:owner/:repo/issues/events": [ + IssuesListEventsForRepoEndpoint, + IssuesListEventsForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/issues/events/:event_id": [ + IssuesGetEventEndpoint, + IssuesGetEventRequestOptions + ]; + "GET /repos/:owner/:repo/keys": [ + ReposListDeployKeysEndpoint, + ReposListDeployKeysRequestOptions + ]; + "GET /repos/:owner/:repo/keys/:key_id": [ + ReposGetDeployKeyEndpoint, + ReposGetDeployKeyRequestOptions + ]; + "GET /repos/:owner/:repo/labels": [ + IssuesListLabelsForRepoEndpoint, + IssuesListLabelsForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/labels/:name": [ + IssuesGetLabelEndpoint, + IssuesGetLabelRequestOptions + ]; + "GET /repos/:owner/:repo/languages": [ + ReposListLanguagesEndpoint, + ReposListLanguagesRequestOptions + ]; + "GET /repos/:owner/:repo/license": [ + LicensesGetForRepoEndpoint, + LicensesGetForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/milestones": [ + IssuesListMilestonesForRepoEndpoint, + IssuesListMilestonesForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/milestones/:milestone_number": [ + IssuesGetMilestoneEndpoint, + IssuesGetMilestoneRequestOptions + ]; + "GET /repos/:owner/:repo/milestones/:milestone_number/labels": [ + IssuesListLabelsForMilestoneEndpoint, + IssuesListLabelsForMilestoneRequestOptions + ]; + "GET /repos/:owner/:repo/notifications": [ + ActivityListNotificationsForRepoEndpoint, + ActivityListNotificationsForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/pages": [ + ReposGetPagesEndpoint, + ReposGetPagesRequestOptions + ]; + "GET /repos/:owner/:repo/pages/builds": [ + ReposListPagesBuildsEndpoint, + ReposListPagesBuildsRequestOptions + ]; + "GET /repos/:owner/:repo/pages/builds/:build_id": [ + ReposGetPagesBuildEndpoint, + ReposGetPagesBuildRequestOptions + ]; + "GET /repos/:owner/:repo/pages/builds/latest": [ + ReposGetLatestPagesBuildEndpoint, + ReposGetLatestPagesBuildRequestOptions + ]; + "GET /repos/:owner/:repo/projects": [ + ProjectsListForRepoEndpoint, + ProjectsListForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/pulls": [PullsListEndpoint, PullsListRequestOptions]; + "GET /repos/:owner/:repo/pulls/:pull_number": [ + PullsGetEndpoint, + PullsGetRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/comments": [ + PullsListCommentsEndpoint, + PullsListCommentsRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/commits": [ + PullsListCommitsEndpoint, + PullsListCommitsRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/files": [ + PullsListFilesEndpoint, + PullsListFilesRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/merge": [ + PullsCheckIfMergedEndpoint, + PullsCheckIfMergedRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [ + PullsListReviewRequestsEndpoint, + PullsListReviewRequestsRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/reviews": [ + PullsListReviewsEndpoint, + PullsListReviewsRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [ + PullsGetReviewEndpoint, + PullsGetReviewRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": [ + PullsGetCommentsForReviewEndpoint, + PullsGetCommentsForReviewRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/comments": [ + PullsListCommentsForRepoEndpoint, + PullsListCommentsForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/comments/:comment_id": [ + PullsGetCommentEndpoint, + PullsGetCommentRequestOptions + ]; + "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": [ + ReactionsListForPullRequestReviewCommentEndpoint, + ReactionsListForPullRequestReviewCommentRequestOptions + ]; + "GET /repos/:owner/:repo/readme": [ + ReposGetReadmeEndpoint, + ReposGetReadmeRequestOptions + ]; + "GET /repos/:owner/:repo/releases": [ + ReposListReleasesEndpoint, + ReposListReleasesRequestOptions + ]; + "GET /repos/:owner/:repo/releases/:release_id": [ + ReposGetReleaseEndpoint, + ReposGetReleaseRequestOptions + ]; + "GET /repos/:owner/:repo/releases/:release_id/assets": [ + ReposListAssetsForReleaseEndpoint, + ReposListAssetsForReleaseRequestOptions + ]; + "GET /repos/:owner/:repo/releases/assets/:asset_id": [ + ReposGetReleaseAssetEndpoint, + ReposGetReleaseAssetRequestOptions + ]; + "GET /repos/:owner/:repo/releases/latest": [ + ReposGetLatestReleaseEndpoint, + ReposGetLatestReleaseRequestOptions + ]; + "GET /repos/:owner/:repo/releases/tags/:tag": [ + ReposGetReleaseByTagEndpoint, + ReposGetReleaseByTagRequestOptions + ]; + "GET /repos/:owner/:repo/stargazers": [ + ActivityListStargazersForRepoEndpoint, + ActivityListStargazersForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/stats/code_frequency": [ + ReposGetCodeFrequencyStatsEndpoint, + ReposGetCodeFrequencyStatsRequestOptions + ]; + "GET /repos/:owner/:repo/stats/commit_activity": [ + ReposGetCommitActivityStatsEndpoint, + ReposGetCommitActivityStatsRequestOptions + ]; + "GET /repos/:owner/:repo/stats/contributors": [ + ReposGetContributorsStatsEndpoint, + ReposGetContributorsStatsRequestOptions + ]; + "GET /repos/:owner/:repo/stats/participation": [ + ReposGetParticipationStatsEndpoint, + ReposGetParticipationStatsRequestOptions + ]; + "GET /repos/:owner/:repo/stats/punch_card": [ + ReposGetPunchCardStatsEndpoint, + ReposGetPunchCardStatsRequestOptions + ]; + "GET /repos/:owner/:repo/subscribers": [ + ActivityListWatchersForRepoEndpoint, + ActivityListWatchersForRepoRequestOptions + ]; + "GET /repos/:owner/:repo/subscription": [ + ActivityGetRepoSubscriptionEndpoint, + ActivityGetRepoSubscriptionRequestOptions + ]; + "GET /repos/:owner/:repo/tags": [ + ReposListTagsEndpoint, + ReposListTagsRequestOptions + ]; + "GET /repos/:owner/:repo/teams": [ + ReposListTeamsEndpoint, + ReposListTeamsRequestOptions + ]; + "GET /repos/:owner/:repo/topics": [ + ReposListTopicsEndpoint, + ReposListTopicsRequestOptions + ]; + "GET /repos/:owner/:repo/traffic/clones": [ + ReposGetClonesEndpoint, + ReposGetClonesRequestOptions + ]; + "GET /repos/:owner/:repo/traffic/popular/paths": [ + ReposGetTopPathsEndpoint, + ReposGetTopPathsRequestOptions + ]; + "GET /repos/:owner/:repo/traffic/popular/referrers": [ + ReposGetTopReferrersEndpoint, + ReposGetTopReferrersRequestOptions + ]; + "GET /repos/:owner/:repo/traffic/views": [ + ReposGetViewsEndpoint, + ReposGetViewsRequestOptions + ]; + "GET /repos/:owner/:repo/vulnerability-alerts": [ + ReposCheckVulnerabilityAlertsEndpoint, + ReposCheckVulnerabilityAlertsRequestOptions + ]; + "GET /repositories": [ReposListPublicEndpoint, ReposListPublicRequestOptions]; + "GET /scim/v2/organizations/:org/Users": [ + ScimListProvisionedIdentitiesEndpoint, + ScimListProvisionedIdentitiesRequestOptions + ]; + "GET /scim/v2/organizations/:org/Users/:scim_user_id": [ + ScimGetProvisioningDetailsForUserEndpoint, + ScimGetProvisioningDetailsForUserRequestOptions + ]; + "GET /search/code": [SearchCodeEndpoint, SearchCodeRequestOptions]; + "GET /search/commits": [SearchCommitsEndpoint, SearchCommitsRequestOptions]; + "GET /search/issues": [ + SearchIssuesAndPullRequestsEndpoint | SearchIssuesEndpoint, + SearchIssuesAndPullRequestsRequestOptions | SearchIssuesRequestOptions + ]; + "GET /search/labels": [SearchLabelsEndpoint, SearchLabelsRequestOptions]; + "GET /search/repositories": [SearchReposEndpoint, SearchReposRequestOptions]; + "GET /search/topics": [SearchTopicsEndpoint, SearchTopicsRequestOptions]; + "GET /search/users": [SearchUsersEndpoint, SearchUsersRequestOptions]; + "GET /teams/:team_id": [TeamsGetEndpoint, TeamsGetRequestOptions]; + "GET /teams/:team_id/discussions": [ + TeamsListDiscussionsEndpoint, + TeamsListDiscussionsRequestOptions + ]; + "GET /teams/:team_id/discussions/:discussion_number": [ + TeamsGetDiscussionEndpoint, + TeamsGetDiscussionRequestOptions + ]; + "GET /teams/:team_id/discussions/:discussion_number/comments": [ + TeamsListDiscussionCommentsEndpoint, + TeamsListDiscussionCommentsRequestOptions + ]; + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [ + TeamsGetDiscussionCommentEndpoint, + TeamsGetDiscussionCommentRequestOptions + ]; + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": [ + ReactionsListForTeamDiscussionCommentEndpoint, + ReactionsListForTeamDiscussionCommentRequestOptions + ]; + "GET /teams/:team_id/discussions/:discussion_number/reactions": [ + ReactionsListForTeamDiscussionEndpoint, + ReactionsListForTeamDiscussionRequestOptions + ]; + "GET /teams/:team_id/invitations": [ + TeamsListPendingInvitationsEndpoint, + TeamsListPendingInvitationsRequestOptions + ]; + "GET /teams/:team_id/members": [ + TeamsListMembersEndpoint, + TeamsListMembersRequestOptions + ]; + "GET /teams/:team_id/members/:username": [ + TeamsGetMemberEndpoint, + TeamsGetMemberRequestOptions + ]; + "GET /teams/:team_id/memberships/:username": [ + TeamsGetMembershipEndpoint, + TeamsGetMembershipRequestOptions + ]; + "GET /teams/:team_id/projects": [ + TeamsListProjectsEndpoint, + TeamsListProjectsRequestOptions + ]; + "GET /teams/:team_id/projects/:project_id": [ + TeamsReviewProjectEndpoint, + TeamsReviewProjectRequestOptions + ]; + "GET /teams/:team_id/repos": [ + TeamsListReposEndpoint, + TeamsListReposRequestOptions + ]; + "GET /teams/:team_id/repos/:owner/:repo": [ + TeamsCheckManagesRepoEndpoint, + TeamsCheckManagesRepoRequestOptions + ]; + "GET /teams/:team_id/team-sync/group-mappings": [ + TeamsListIdPGroupsEndpoint, + TeamsListIdPGroupsRequestOptions + ]; + "GET /teams/:team_id/teams": [ + TeamsListChildEndpoint, + TeamsListChildRequestOptions + ]; + "GET /user": [ + UsersGetAuthenticatedEndpoint, + UsersGetAuthenticatedRequestOptions + ]; + "GET /user/blocks": [ + UsersListBlockedEndpoint, + UsersListBlockedRequestOptions + ]; + "GET /user/blocks/:username": [ + UsersCheckBlockedEndpoint, + UsersCheckBlockedRequestOptions + ]; + "GET /user/emails": [UsersListEmailsEndpoint, UsersListEmailsRequestOptions]; + "GET /user/followers": [ + UsersListFollowersForAuthenticatedUserEndpoint, + UsersListFollowersForAuthenticatedUserRequestOptions + ]; + "GET /user/following": [ + UsersListFollowingForAuthenticatedUserEndpoint, + UsersListFollowingForAuthenticatedUserRequestOptions + ]; + "GET /user/following/:username": [ + UsersCheckFollowingEndpoint, + UsersCheckFollowingRequestOptions + ]; + "GET /user/gpg_keys": [ + UsersListGpgKeysEndpoint, + UsersListGpgKeysRequestOptions + ]; + "GET /user/gpg_keys/:gpg_key_id": [ + UsersGetGpgKeyEndpoint, + UsersGetGpgKeyRequestOptions + ]; + "GET /user/installations": [ + AppsListInstallationsForAuthenticatedUserEndpoint, + AppsListInstallationsForAuthenticatedUserRequestOptions + ]; + "GET /user/installations/:installation_id/repositories": [ + AppsListInstallationReposForAuthenticatedUserEndpoint, + AppsListInstallationReposForAuthenticatedUserRequestOptions + ]; + "GET /user/issues": [ + IssuesListForAuthenticatedUserEndpoint, + IssuesListForAuthenticatedUserRequestOptions + ]; + "GET /user/keys": [ + UsersListPublicKeysEndpoint, + UsersListPublicKeysRequestOptions + ]; + "GET /user/keys/:key_id": [ + UsersGetPublicKeyEndpoint, + UsersGetPublicKeyRequestOptions + ]; + "GET /user/marketplace_purchases": [ + AppsListMarketplacePurchasesForAuthenticatedUserEndpoint, + AppsListMarketplacePurchasesForAuthenticatedUserRequestOptions + ]; + "GET /user/marketplace_purchases/stubbed": [ + AppsListMarketplacePurchasesForAuthenticatedUserStubbedEndpoint, + AppsListMarketplacePurchasesForAuthenticatedUserStubbedRequestOptions + ]; + "GET /user/memberships/orgs": [ + OrgsListMembershipsEndpoint, + OrgsListMembershipsRequestOptions + ]; + "GET /user/memberships/orgs/:org": [ + OrgsGetMembershipForAuthenticatedUserEndpoint, + OrgsGetMembershipForAuthenticatedUserRequestOptions + ]; + "GET /user/migrations": [ + MigrationsListForAuthenticatedUserEndpoint, + MigrationsListForAuthenticatedUserRequestOptions + ]; + "GET /user/migrations/:migration_id": [ + MigrationsGetStatusForAuthenticatedUserEndpoint, + MigrationsGetStatusForAuthenticatedUserRequestOptions + ]; + "GET /user/migrations/:migration_id/archive": [ + MigrationsGetArchiveForAuthenticatedUserEndpoint, + MigrationsGetArchiveForAuthenticatedUserRequestOptions + ]; + "GET /user/orgs": [ + OrgsListForAuthenticatedUserEndpoint, + OrgsListForAuthenticatedUserRequestOptions + ]; + "GET /user/public_emails": [ + UsersListPublicEmailsEndpoint, + UsersListPublicEmailsRequestOptions + ]; + "GET /user/repos": [ReposListEndpoint, ReposListRequestOptions]; + "GET /user/repository_invitations": [ + ReposListInvitationsForAuthenticatedUserEndpoint, + ReposListInvitationsForAuthenticatedUserRequestOptions + ]; + "GET /user/starred": [ + ActivityListReposStarredByAuthenticatedUserEndpoint, + ActivityListReposStarredByAuthenticatedUserRequestOptions + ]; + "GET /user/starred/:owner/:repo": [ + ActivityCheckStarringRepoEndpoint, + ActivityCheckStarringRepoRequestOptions + ]; + "GET /user/subscriptions": [ + ActivityListWatchedReposForAuthenticatedUserEndpoint, + ActivityListWatchedReposForAuthenticatedUserRequestOptions + ]; + "GET /user/subscriptions/:owner/:repo": [ + ActivityCheckWatchingRepoLegacyEndpoint, + ActivityCheckWatchingRepoLegacyRequestOptions + ]; + "GET /user/teams": [ + TeamsListForAuthenticatedUserEndpoint, + TeamsListForAuthenticatedUserRequestOptions + ]; + "GET /users": [UsersListEndpoint, UsersListRequestOptions]; + "GET /users/:username": [ + UsersGetByUsernameEndpoint, + UsersGetByUsernameRequestOptions + ]; + "GET /users/:username/events": [ + ActivityListEventsForUserEndpoint, + ActivityListEventsForUserRequestOptions + ]; + "GET /users/:username/events/orgs/:org": [ + ActivityListEventsForOrgEndpoint, + ActivityListEventsForOrgRequestOptions + ]; + "GET /users/:username/events/public": [ + ActivityListPublicEventsForUserEndpoint, + ActivityListPublicEventsForUserRequestOptions + ]; + "GET /users/:username/followers": [ + UsersListFollowersForUserEndpoint, + UsersListFollowersForUserRequestOptions + ]; + "GET /users/:username/following": [ + UsersListFollowingForUserEndpoint, + UsersListFollowingForUserRequestOptions + ]; + "GET /users/:username/following/:target_user": [ + UsersCheckFollowingForUserEndpoint, + UsersCheckFollowingForUserRequestOptions + ]; + "GET /users/:username/gists": [ + GistsListPublicForUserEndpoint, + GistsListPublicForUserRequestOptions + ]; + "GET /users/:username/gpg_keys": [ + UsersListGpgKeysForUserEndpoint, + UsersListGpgKeysForUserRequestOptions + ]; + "GET /users/:username/hovercard": [ + UsersGetContextForUserEndpoint, + UsersGetContextForUserRequestOptions + ]; + "GET /users/:username/installation": [ + AppsGetUserInstallationEndpoint | AppsFindUserInstallationEndpoint, + + | AppsGetUserInstallationRequestOptions + | AppsFindUserInstallationRequestOptions + ]; + "GET /users/:username/keys": [ + UsersListPublicKeysForUserEndpoint, + UsersListPublicKeysForUserRequestOptions + ]; + "GET /users/:username/orgs": [ + OrgsListForUserEndpoint, + OrgsListForUserRequestOptions + ]; + "GET /users/:username/projects": [ + ProjectsListForUserEndpoint, + ProjectsListForUserRequestOptions + ]; + "GET /users/:username/received_events": [ + ActivityListReceivedEventsForUserEndpoint, + ActivityListReceivedEventsForUserRequestOptions + ]; + "GET /users/:username/received_events/public": [ + ActivityListReceivedPublicEventsForUserEndpoint, + ActivityListReceivedPublicEventsForUserRequestOptions + ]; + "GET /users/:username/repos": [ + ReposListForUserEndpoint, + ReposListForUserRequestOptions + ]; + "GET /users/:username/starred": [ + ActivityListReposStarredByUserEndpoint, + ActivityListReposStarredByUserRequestOptions + ]; + "GET /users/:username/subscriptions": [ + ActivityListReposWatchedByUserEndpoint, + ActivityListReposWatchedByUserRequestOptions + ]; + "PATCH /authorizations/:authorization_id": [ + OauthAuthorizationsUpdateAuthorizationEndpoint, + OauthAuthorizationsUpdateAuthorizationRequestOptions + ]; + "PATCH /gists/:gist_id": [GistsUpdateEndpoint, GistsUpdateRequestOptions]; + "PATCH /gists/:gist_id/comments/:comment_id": [ + GistsUpdateCommentEndpoint, + GistsUpdateCommentRequestOptions + ]; + "PATCH /notifications/threads/:thread_id": [ + ActivityMarkThreadAsReadEndpoint, + ActivityMarkThreadAsReadRequestOptions + ]; + "PATCH /orgs/:org": [OrgsUpdateEndpoint, OrgsUpdateRequestOptions]; + "PATCH /orgs/:org/hooks/:hook_id": [ + OrgsUpdateHookEndpoint, + OrgsUpdateHookRequestOptions + ]; + "PATCH /projects/:project_id": [ + ProjectsUpdateEndpoint, + ProjectsUpdateRequestOptions + ]; + "PATCH /projects/columns/:column_id": [ + ProjectsUpdateColumnEndpoint, + ProjectsUpdateColumnRequestOptions + ]; + "PATCH /projects/columns/cards/:card_id": [ + ProjectsUpdateCardEndpoint, + ProjectsUpdateCardRequestOptions + ]; + "PATCH /repos/:owner/:repo": [ReposUpdateEndpoint, ReposUpdateRequestOptions]; + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ + ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint, + ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions + ]; + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ + ReposUpdateProtectedBranchRequiredStatusChecksEndpoint, + ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions + ]; + "PATCH /repos/:owner/:repo/check-runs/:check_run_id": [ + ChecksUpdateEndpoint, + ChecksUpdateRequestOptions + ]; + "PATCH /repos/:owner/:repo/check-suites/preferences": [ + ChecksSetSuitesPreferencesEndpoint, + ChecksSetSuitesPreferencesRequestOptions + ]; + "PATCH /repos/:owner/:repo/comments/:comment_id": [ + ReposUpdateCommitCommentEndpoint, + ReposUpdateCommitCommentRequestOptions + ]; + "PATCH /repos/:owner/:repo/git/refs/:ref": [ + GitUpdateRefEndpoint, + GitUpdateRefRequestOptions + ]; + "PATCH /repos/:owner/:repo/hooks/:hook_id": [ + ReposUpdateHookEndpoint, + ReposUpdateHookRequestOptions + ]; + "PATCH /repos/:owner/:repo/import": [ + MigrationsUpdateImportEndpoint, + MigrationsUpdateImportRequestOptions + ]; + "PATCH /repos/:owner/:repo/import/authors/:author_id": [ + MigrationsMapCommitAuthorEndpoint, + MigrationsMapCommitAuthorRequestOptions + ]; + "PATCH /repos/:owner/:repo/import/lfs": [ + MigrationsSetLfsPreferenceEndpoint, + MigrationsSetLfsPreferenceRequestOptions + ]; + "PATCH /repos/:owner/:repo/invitations/:invitation_id": [ + ReposUpdateInvitationEndpoint, + ReposUpdateInvitationRequestOptions + ]; + "PATCH /repos/:owner/:repo/issues/:issue_number": [ + IssuesUpdateEndpoint, + IssuesUpdateRequestOptions + ]; + "PATCH /repos/:owner/:repo/issues/comments/:comment_id": [ + IssuesUpdateCommentEndpoint, + IssuesUpdateCommentRequestOptions + ]; + "PATCH /repos/:owner/:repo/labels/:name": [ + IssuesUpdateLabelEndpoint, + IssuesUpdateLabelRequestOptions + ]; + "PATCH /repos/:owner/:repo/milestones/:milestone_number": [ + IssuesUpdateMilestoneEndpoint, + IssuesUpdateMilestoneRequestOptions + ]; + "PATCH /repos/:owner/:repo/pulls/:pull_number": [ + PullsUpdateEndpoint, + PullsUpdateRequestOptions + ]; + "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": [ + PullsUpdateCommentEndpoint, + PullsUpdateCommentRequestOptions + ]; + "PATCH /repos/:owner/:repo/releases/:release_id": [ + ReposUpdateReleaseEndpoint, + ReposUpdateReleaseRequestOptions + ]; + "PATCH /repos/:owner/:repo/releases/assets/:asset_id": [ + ReposUpdateReleaseAssetEndpoint, + ReposUpdateReleaseAssetRequestOptions + ]; + "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": [ + ScimUpdateUserAttributeEndpoint, + ScimUpdateUserAttributeRequestOptions + ]; + "PATCH /teams/:team_id": [TeamsUpdateEndpoint, TeamsUpdateRequestOptions]; + "PATCH /teams/:team_id/discussions/:discussion_number": [ + TeamsUpdateDiscussionEndpoint, + TeamsUpdateDiscussionRequestOptions + ]; + "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [ + TeamsUpdateDiscussionCommentEndpoint, + TeamsUpdateDiscussionCommentRequestOptions + ]; + "PATCH /teams/:team_id/team-sync/group-mappings": [ + TeamsCreateOrUpdateIdPGroupConnectionsEndpoint, + TeamsCreateOrUpdateIdPGroupConnectionsRequestOptions + ]; + "PATCH /user": [ + UsersUpdateAuthenticatedEndpoint, + UsersUpdateAuthenticatedRequestOptions + ]; + "PATCH /user/email/visibility": [ + UsersTogglePrimaryEmailVisibilityEndpoint, + UsersTogglePrimaryEmailVisibilityRequestOptions + ]; + "PATCH /user/memberships/orgs/:org": [ + OrgsUpdateMembershipEndpoint, + OrgsUpdateMembershipRequestOptions + ]; + "PATCH /user/repository_invitations/:invitation_id": [ + ReposAcceptInvitationEndpoint, + ReposAcceptInvitationRequestOptions + ]; + "POST /app-manifests/:code/conversions": [ + AppsCreateFromManifestEndpoint, + AppsCreateFromManifestRequestOptions + ]; + "POST /app/installations/:installation_id/access_tokens": [ + AppsCreateInstallationTokenEndpoint, + AppsCreateInstallationTokenRequestOptions + ]; + "POST /applications/:client_id/tokens/:access_token": [ + OauthAuthorizationsResetAuthorizationEndpoint, + OauthAuthorizationsResetAuthorizationRequestOptions + ]; + "POST /authorizations": [ + OauthAuthorizationsCreateAuthorizationEndpoint, + OauthAuthorizationsCreateAuthorizationRequestOptions + ]; + "POST /content_references/:content_reference_id/attachments": [ + AppsCreateContentAttachmentEndpoint, + AppsCreateContentAttachmentRequestOptions + ]; + "POST /gists": [GistsCreateEndpoint, GistsCreateRequestOptions]; + "POST /gists/:gist_id/comments": [ + GistsCreateCommentEndpoint, + GistsCreateCommentRequestOptions + ]; + "POST /gists/:gist_id/forks": [GistsForkEndpoint, GistsForkRequestOptions]; + "POST /markdown": [MarkdownRenderEndpoint, MarkdownRenderRequestOptions]; + "POST /markdown/raw": [ + MarkdownRenderRawEndpoint, + MarkdownRenderRawRequestOptions + ]; + "POST /orgs/:org/hooks": [ + OrgsCreateHookEndpoint, + OrgsCreateHookRequestOptions + ]; + "POST /orgs/:org/hooks/:hook_id/pings": [ + OrgsPingHookEndpoint, + OrgsPingHookRequestOptions + ]; + "POST /orgs/:org/invitations": [ + OrgsCreateInvitationEndpoint, + OrgsCreateInvitationRequestOptions + ]; + "POST /orgs/:org/migrations": [ + MigrationsStartForOrgEndpoint, + MigrationsStartForOrgRequestOptions + ]; + "POST /orgs/:org/projects": [ + ProjectsCreateForOrgEndpoint, + ProjectsCreateForOrgRequestOptions + ]; + "POST /orgs/:org/repos": [ + ReposCreateInOrgEndpoint, + ReposCreateInOrgRequestOptions + ]; + "POST /orgs/:org/teams": [TeamsCreateEndpoint, TeamsCreateRequestOptions]; + "POST /projects/:project_id/columns": [ + ProjectsCreateColumnEndpoint, + ProjectsCreateColumnRequestOptions + ]; + "POST /projects/columns/:column_id/cards": [ + ProjectsCreateCardEndpoint, + ProjectsCreateCardRequestOptions + ]; + "POST /projects/columns/:column_id/moves": [ + ProjectsMoveColumnEndpoint, + ProjectsMoveColumnRequestOptions + ]; + "POST /projects/columns/cards/:card_id/moves": [ + ProjectsMoveCardEndpoint, + ProjectsMoveCardRequestOptions + ]; + "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ + ReposAddProtectedBranchAdminEnforcementEndpoint, + ReposAddProtectedBranchAdminEnforcementRequestOptions + ]; + "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ + ReposAddProtectedBranchRequiredSignaturesEndpoint, + ReposAddProtectedBranchRequiredSignaturesRequestOptions + ]; + "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ + ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint, + ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions + ]; + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": [ + ReposAddProtectedBranchAppRestrictionsEndpoint, + ReposAddProtectedBranchAppRestrictionsRequestOptions + ]; + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ + ReposAddProtectedBranchTeamRestrictionsEndpoint, + ReposAddProtectedBranchTeamRestrictionsRequestOptions + ]; + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ + ReposAddProtectedBranchUserRestrictionsEndpoint, + ReposAddProtectedBranchUserRestrictionsRequestOptions + ]; + "POST /repos/:owner/:repo/check-runs": [ + ChecksCreateEndpoint, + ChecksCreateRequestOptions + ]; + "POST /repos/:owner/:repo/check-suites": [ + ChecksCreateSuiteEndpoint, + ChecksCreateSuiteRequestOptions + ]; + "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": [ + ChecksRerequestSuiteEndpoint, + ChecksRerequestSuiteRequestOptions + ]; + "POST /repos/:owner/:repo/comments/:comment_id/reactions": [ + ReactionsCreateForCommitCommentEndpoint, + ReactionsCreateForCommitCommentRequestOptions + ]; + "POST /repos/:owner/:repo/commits/:commit_sha/comments": [ + ReposCreateCommitCommentEndpoint, + ReposCreateCommitCommentRequestOptions + ]; + "POST /repos/:owner/:repo/deployments": [ + ReposCreateDeploymentEndpoint, + ReposCreateDeploymentRequestOptions + ]; + "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": [ + ReposCreateDeploymentStatusEndpoint, + ReposCreateDeploymentStatusRequestOptions + ]; + "POST /repos/:owner/:repo/dispatches": [ + ReposCreateDispatchEventEndpoint, + ReposCreateDispatchEventRequestOptions + ]; + "POST /repos/:owner/:repo/forks": [ + ReposCreateForkEndpoint, + ReposCreateForkRequestOptions + ]; + "POST /repos/:owner/:repo/git/blobs": [ + GitCreateBlobEndpoint, + GitCreateBlobRequestOptions + ]; + "POST /repos/:owner/:repo/git/commits": [ + GitCreateCommitEndpoint, + GitCreateCommitRequestOptions + ]; + "POST /repos/:owner/:repo/git/refs": [ + GitCreateRefEndpoint, + GitCreateRefRequestOptions + ]; + "POST /repos/:owner/:repo/git/tags": [ + GitCreateTagEndpoint, + GitCreateTagRequestOptions + ]; + "POST /repos/:owner/:repo/git/trees": [ + GitCreateTreeEndpoint, + GitCreateTreeRequestOptions + ]; + "POST /repos/:owner/:repo/hooks": [ + ReposCreateHookEndpoint, + ReposCreateHookRequestOptions + ]; + "POST /repos/:owner/:repo/hooks/:hook_id/pings": [ + ReposPingHookEndpoint, + ReposPingHookRequestOptions + ]; + "POST /repos/:owner/:repo/hooks/:hook_id/tests": [ + ReposTestPushHookEndpoint, + ReposTestPushHookRequestOptions + ]; + "POST /repos/:owner/:repo/issues": [ + IssuesCreateEndpoint, + IssuesCreateRequestOptions + ]; + "POST /repos/:owner/:repo/issues/:issue_number/assignees": [ + IssuesAddAssigneesEndpoint, + IssuesAddAssigneesRequestOptions + ]; + "POST /repos/:owner/:repo/issues/:issue_number/comments": [ + IssuesCreateCommentEndpoint, + IssuesCreateCommentRequestOptions + ]; + "POST /repos/:owner/:repo/issues/:issue_number/labels": [ + IssuesAddLabelsEndpoint, + IssuesAddLabelsRequestOptions + ]; + "POST /repos/:owner/:repo/issues/:issue_number/reactions": [ + ReactionsCreateForIssueEndpoint, + ReactionsCreateForIssueRequestOptions + ]; + "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": [ + ReactionsCreateForIssueCommentEndpoint, + ReactionsCreateForIssueCommentRequestOptions + ]; + "POST /repos/:owner/:repo/keys": [ + ReposAddDeployKeyEndpoint, + ReposAddDeployKeyRequestOptions + ]; + "POST /repos/:owner/:repo/labels": [ + IssuesCreateLabelEndpoint, + IssuesCreateLabelRequestOptions + ]; + "POST /repos/:owner/:repo/merges": [ + ReposMergeEndpoint, + ReposMergeRequestOptions + ]; + "POST /repos/:owner/:repo/milestones": [ + IssuesCreateMilestoneEndpoint, + IssuesCreateMilestoneRequestOptions + ]; + "POST /repos/:owner/:repo/pages": [ + ReposEnablePagesSiteEndpoint, + ReposEnablePagesSiteRequestOptions + ]; + "POST /repos/:owner/:repo/pages/builds": [ + ReposRequestPageBuildEndpoint, + ReposRequestPageBuildRequestOptions + ]; + "POST /repos/:owner/:repo/projects": [ + ProjectsCreateForRepoEndpoint, + ProjectsCreateForRepoRequestOptions + ]; + "POST /repos/:owner/:repo/pulls": [ + PullsCreateEndpoint, + PullsCreateRequestOptions + ]; + "POST /repos/:owner/:repo/pulls/:pull_number/comments": [ + PullsCreateCommentEndpoint | PullsCreateCommentReplyEndpoint, + PullsCreateCommentRequestOptions | PullsCreateCommentReplyRequestOptions + ]; + "POST /repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies": [ + PullsCreateReviewCommentReplyEndpoint, + PullsCreateReviewCommentReplyRequestOptions + ]; + "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [ + PullsCreateReviewRequestEndpoint, + PullsCreateReviewRequestRequestOptions + ]; + "POST /repos/:owner/:repo/pulls/:pull_number/reviews": [ + PullsCreateReviewEndpoint, + PullsCreateReviewRequestOptions + ]; + "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": [ + PullsSubmitReviewEndpoint, + PullsSubmitReviewRequestOptions + ]; + "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": [ + ReactionsCreateForPullRequestReviewCommentEndpoint, + ReactionsCreateForPullRequestReviewCommentRequestOptions + ]; + "POST /repos/:owner/:repo/releases": [ + ReposCreateReleaseEndpoint, + ReposCreateReleaseRequestOptions + ]; + "POST /repos/:owner/:repo/statuses/:sha": [ + ReposCreateStatusEndpoint, + ReposCreateStatusRequestOptions + ]; + "POST /repos/:owner/:repo/transfer": [ + ReposTransferEndpoint, + ReposTransferRequestOptions + ]; + "POST /repos/:template_owner/:template_repo/generate": [ + ReposCreateUsingTemplateEndpoint, + ReposCreateUsingTemplateRequestOptions + ]; + "POST /scim/v2/organizations/:org/Users": [ + ScimProvisionAndInviteUsersEndpoint | ScimProvisionInviteUsersEndpoint, + + | ScimProvisionAndInviteUsersRequestOptions + | ScimProvisionInviteUsersRequestOptions + ]; + "POST /teams/:team_id/discussions": [ + TeamsCreateDiscussionEndpoint, + TeamsCreateDiscussionRequestOptions + ]; + "POST /teams/:team_id/discussions/:discussion_number/comments": [ + TeamsCreateDiscussionCommentEndpoint, + TeamsCreateDiscussionCommentRequestOptions + ]; + "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": [ + ReactionsCreateForTeamDiscussionCommentEndpoint, + ReactionsCreateForTeamDiscussionCommentRequestOptions + ]; + "POST /teams/:team_id/discussions/:discussion_number/reactions": [ + ReactionsCreateForTeamDiscussionEndpoint, + ReactionsCreateForTeamDiscussionRequestOptions + ]; + "POST /user/emails": [UsersAddEmailsEndpoint, UsersAddEmailsRequestOptions]; + "POST /user/gpg_keys": [ + UsersCreateGpgKeyEndpoint, + UsersCreateGpgKeyRequestOptions + ]; + "POST /user/keys": [ + UsersCreatePublicKeyEndpoint, + UsersCreatePublicKeyRequestOptions + ]; + "POST /user/migrations": [ + MigrationsStartForAuthenticatedUserEndpoint, + MigrationsStartForAuthenticatedUserRequestOptions + ]; + "POST /user/projects": [ + ProjectsCreateForAuthenticatedUserEndpoint, + ProjectsCreateForAuthenticatedUserRequestOptions + ]; + "POST /user/repos": [ + ReposCreateForAuthenticatedUserEndpoint, + ReposCreateForAuthenticatedUserRequestOptions + ]; + "PUT /authorizations/clients/:client_id": [ + OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint, + OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions + ]; + "PUT /authorizations/clients/:client_id/:fingerprint": [ + + | OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint + | OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintEndpoint, + + | OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions + | OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintRequestOptions + ]; + "PUT /gists/:gist_id/star": [GistsStarEndpoint, GistsStarRequestOptions]; + "PUT /notifications": [ + ActivityMarkAsReadEndpoint, + ActivityMarkAsReadRequestOptions + ]; + "PUT /notifications/threads/:thread_id/subscription": [ + ActivitySetThreadSubscriptionEndpoint, + ActivitySetThreadSubscriptionRequestOptions + ]; + "PUT /orgs/:org/blocks/:username": [ + OrgsBlockUserEndpoint, + OrgsBlockUserRequestOptions + ]; + "PUT /orgs/:org/interaction-limits": [ + InteractionsAddOrUpdateRestrictionsForOrgEndpoint, + InteractionsAddOrUpdateRestrictionsForOrgRequestOptions + ]; + "PUT /orgs/:org/memberships/:username": [ + OrgsAddOrUpdateMembershipEndpoint, + OrgsAddOrUpdateMembershipRequestOptions + ]; + "PUT /orgs/:org/outside_collaborators/:username": [ + OrgsConvertMemberToOutsideCollaboratorEndpoint, + OrgsConvertMemberToOutsideCollaboratorRequestOptions + ]; + "PUT /orgs/:org/public_members/:username": [ + OrgsPublicizeMembershipEndpoint, + OrgsPublicizeMembershipRequestOptions + ]; + "PUT /projects/:project_id/collaborators/:username": [ + ProjectsAddCollaboratorEndpoint, + ProjectsAddCollaboratorRequestOptions + ]; + "PUT /repos/:owner/:repo/automated-security-fixes": [ + ReposEnableAutomatedSecurityFixesEndpoint, + ReposEnableAutomatedSecurityFixesRequestOptions + ]; + "PUT /repos/:owner/:repo/branches/:branch/protection": [ + ReposUpdateBranchProtectionEndpoint, + ReposUpdateBranchProtectionRequestOptions + ]; + "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ + ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint, + ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions + ]; + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": [ + ReposReplaceProtectedBranchAppRestrictionsEndpoint, + ReposReplaceProtectedBranchAppRestrictionsRequestOptions + ]; + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ + ReposReplaceProtectedBranchTeamRestrictionsEndpoint, + ReposReplaceProtectedBranchTeamRestrictionsRequestOptions + ]; + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ + ReposReplaceProtectedBranchUserRestrictionsEndpoint, + ReposReplaceProtectedBranchUserRestrictionsRequestOptions + ]; + "PUT /repos/:owner/:repo/collaborators/:username": [ + ReposAddCollaboratorEndpoint, + ReposAddCollaboratorRequestOptions + ]; + "PUT /repos/:owner/:repo/contents/:path": [ + + | ReposCreateOrUpdateFileEndpoint + | ReposCreateFileEndpoint + | ReposUpdateFileEndpoint, + + | ReposCreateOrUpdateFileRequestOptions + | ReposCreateFileRequestOptions + | ReposUpdateFileRequestOptions + ]; + "PUT /repos/:owner/:repo/import": [ + MigrationsStartImportEndpoint, + MigrationsStartImportRequestOptions + ]; + "PUT /repos/:owner/:repo/interaction-limits": [ + InteractionsAddOrUpdateRestrictionsForRepoEndpoint, + InteractionsAddOrUpdateRestrictionsForRepoRequestOptions + ]; + "PUT /repos/:owner/:repo/issues/:issue_number/labels": [ + IssuesReplaceLabelsEndpoint, + IssuesReplaceLabelsRequestOptions + ]; + "PUT /repos/:owner/:repo/issues/:issue_number/lock": [ + IssuesLockEndpoint, + IssuesLockRequestOptions + ]; + "PUT /repos/:owner/:repo/notifications": [ + ActivityMarkNotificationsAsReadForRepoEndpoint, + ActivityMarkNotificationsAsReadForRepoRequestOptions + ]; + "PUT /repos/:owner/:repo/pages": [ + ReposUpdateInformationAboutPagesSiteEndpoint, + ReposUpdateInformationAboutPagesSiteRequestOptions + ]; + "PUT /repos/:owner/:repo/pulls/:pull_number/merge": [ + PullsMergeEndpoint, + PullsMergeRequestOptions + ]; + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [ + PullsUpdateReviewEndpoint, + PullsUpdateReviewRequestOptions + ]; + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": [ + PullsDismissReviewEndpoint, + PullsDismissReviewRequestOptions + ]; + "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": [ + PullsUpdateBranchEndpoint, + PullsUpdateBranchRequestOptions + ]; + "PUT /repos/:owner/:repo/subscription": [ + ActivitySetRepoSubscriptionEndpoint, + ActivitySetRepoSubscriptionRequestOptions + ]; + "PUT /repos/:owner/:repo/topics": [ + ReposReplaceTopicsEndpoint, + ReposReplaceTopicsRequestOptions + ]; + "PUT /repos/:owner/:repo/vulnerability-alerts": [ + ReposEnableVulnerabilityAlertsEndpoint, + ReposEnableVulnerabilityAlertsRequestOptions + ]; + "PUT /scim/v2/organizations/:org/Users/:scim_user_id": [ + + | ScimReplaceProvisionedUserInformationEndpoint + | ScimUpdateProvisionedOrgMembershipEndpoint, + + | ScimReplaceProvisionedUserInformationRequestOptions + | ScimUpdateProvisionedOrgMembershipRequestOptions + ]; + "PUT /teams/:team_id/members/:username": [ + TeamsAddMemberEndpoint, + TeamsAddMemberRequestOptions + ]; + "PUT /teams/:team_id/memberships/:username": [ + TeamsAddOrUpdateMembershipEndpoint, + TeamsAddOrUpdateMembershipRequestOptions + ]; + "PUT /teams/:team_id/projects/:project_id": [ + TeamsAddOrUpdateProjectEndpoint, + TeamsAddOrUpdateProjectRequestOptions + ]; + "PUT /teams/:team_id/repos/:owner/:repo": [ + TeamsAddOrUpdateRepoEndpoint, + TeamsAddOrUpdateRepoRequestOptions + ]; + "PUT /user/blocks/:username": [UsersBlockEndpoint, UsersBlockRequestOptions]; + "PUT /user/following/:username": [ + UsersFollowEndpoint, + UsersFollowRequestOptions + ]; + "PUT /user/installations/:installation_id/repositories/:repository_id": [ + AppsAddRepoToInstallationEndpoint, + AppsAddRepoToInstallationRequestOptions + ]; + "PUT /user/starred/:owner/:repo": [ + ActivityStarRepoEndpoint, + ActivityStarRepoRequestOptions + ]; + "PUT /user/subscriptions/:owner/:repo": [ + ActivityWatchRepoLegacyEndpoint, + ActivityWatchRepoLegacyRequestOptions + ]; +} + +type AppsGetAuthenticatedEndpoint = {}; +type AppsGetAuthenticatedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsCreateFromManifestEndpoint = { + /** + * code parameter + */ + code: string; +}; +type AppsCreateFromManifestRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListInstallationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListInstallationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsGetInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +type AppsGetInstallationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsDeleteInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +type AppsDeleteInstallationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsCreateInstallationTokenEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * The `id`s of the repositories that the installation token can access. Providing repository `id`s restricts the access of an installation token to specific repositories. You can use the "[List repositories](https://developer.github.com/v3/apps/installations/#list-repositories)" endpoint to get the `id` of all repositories that an installation can access. For example, you can select specific repositories when creating an installation token to restrict the number of repositories that can be cloned using the token. + */ + repository_ids?: number[]; + /** + * The permissions granted to the access token. The permissions object includes the permission names and their access type. For a complete list of permissions and allowable values, see "[GitHub App permissions](https://developer.github.com/apps/building-github-apps/creating-github-apps-using-url-parameters/#github-app-permissions)." + */ + permissions?: AppsCreateInstallationTokenParamsPermissions; +}; +type AppsCreateInstallationTokenRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsListGrantsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OauthAuthorizationsListGrantsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsGetGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +type OauthAuthorizationsGetGrantRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsDeleteGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +type OauthAuthorizationsDeleteGrantRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsRevokeGrantForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +type OauthAuthorizationsRevokeGrantForApplicationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsCheckAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +type OauthAuthorizationsCheckAuthorizationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsResetAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +type OauthAuthorizationsResetAuthorizationRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsRevokeAuthorizationForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +type OauthAuthorizationsRevokeAuthorizationForApplicationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsGetBySlugEndpoint = { + /** + * app_slug parameter + */ + app_slug: string; +}; +type AppsGetBySlugRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsListAuthorizationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OauthAuthorizationsListAuthorizationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsCreateAuthorizationEndpoint = { + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * The 20 character OAuth app client key for which to create the token. + */ + client_id?: string; + /** + * The 40 character OAuth app client secret for which to create the token. + */ + client_secret?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +type OauthAuthorizationsCreateAuthorizationRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client and user. If provided, this API is functionally equivalent to [Get-or-create an authorization for a specific app and fingerprint](https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint). + */ + fingerprint?: string; +}; +type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * fingerprint parameter + */ + fingerprint: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; +}; +type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * fingerprint parameter + */ + fingerprint: string; + /** + * The 40 character OAuth app client secret associated with the client ID specified in the URL. + */ + client_secret: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; +}; +type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsGetAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +type OauthAuthorizationsGetAuthorizationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsUpdateAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; + /** + * Replaces the authorization scopes with these. + */ + scopes?: string[]; + /** + * A list of scopes to add to this authorization. + */ + add_scopes?: string[]; + /** + * A list of scopes to remove from this authorization. + */ + remove_scopes?: string[]; + /** + * A note to remind you what the OAuth token is for. Tokens not associated with a specific OAuth application (i.e. personal access tokens) must have a unique note. + */ + note?: string; + /** + * A URL to remind you what app the OAuth token is for. + */ + note_url?: string; + /** + * A unique string to distinguish an authorization from others created for the same client ID and user. + */ + fingerprint?: string; +}; +type OauthAuthorizationsUpdateAuthorizationRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OauthAuthorizationsDeleteAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +type OauthAuthorizationsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type CodesOfConductListConductCodesEndpoint = {}; +type CodesOfConductListConductCodesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type CodesOfConductGetConductCodeEndpoint = { + /** + * key parameter + */ + key: string; +}; +type CodesOfConductGetConductCodeRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsCreateContentAttachmentEndpoint = { + /** + * content_reference_id parameter + */ + content_reference_id: number; + /** + * The title of the content attachment displayed in the body or comment of an issue or pull request. + */ + title: string; + /** + * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + */ + body: string; +}; +type AppsCreateContentAttachmentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type EmojisGetEndpoint = {}; +type EmojisGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListPublicEventsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListPublicEventsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListFeedsEndpoint = {}; +type ActivityListFeedsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsListEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GistsListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsCreateEndpoint = { + /** + * The filenames and content of each file in the gist. The keys in the `files` object represent the filename and have the type `string`. + */ + files: GistsCreateParamsFiles; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * When `true`, the gist will be public and available for anyone to see. + */ + public?: boolean; +}; +type GistsCreateRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsListPublicEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GistsListPublicRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsListStarredEndpoint = { + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GistsListStarredRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsGetEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +type GistsGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsUpdateEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * A descriptive name for this gist. + */ + description?: string; + /** + * The filenames and content that make up this gist. + */ + files?: GistsUpdateParamsFiles; +}; +type GistsUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsDeleteEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +type GistsDeleteRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsListCommentsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GistsListCommentsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsCreateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * The comment text. + */ + body: string; +}; +type GistsCreateCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsGetCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +type GistsGetCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsUpdateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The comment text. + */ + body: string; +}; +type GistsUpdateCommentRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsDeleteCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +type GistsDeleteCommentRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsListCommitsEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GistsListCommitsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsForkEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +type GistsForkRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsListForksEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GistsListForksRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsStarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +type GistsStarRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsUnstarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +type GistsUnstarRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsCheckIsStarredEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +type GistsCheckIsStarredRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsGetRevisionEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * sha parameter + */ + sha: string; +}; +type GistsGetRevisionRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitignoreListTemplatesEndpoint = {}; +type GitignoreListTemplatesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitignoreGetTemplateEndpoint = { + /** + * name parameter + */ + name: string; +}; +type GitignoreGetTemplateRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListReposEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListReposRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchIssuesLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repository parameter + */ + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; + /** + * The search term. + */ + keyword: string; +}; +type SearchIssuesLegacyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchReposLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * Filter results by language. + */ + language?: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +type SearchReposLegacyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchEmailLegacyEndpoint = { + /** + * The email address. + */ + email: string; +}; +type SearchEmailLegacyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchUsersLegacyEndpoint = { + /** + * The search term. + */ + keyword: string; + /** + * The page number to fetch. + */ + start_page?: string; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; +}; +type SearchUsersLegacyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type LicensesListCommonlyUsedEndpoint = {}; +type LicensesListCommonlyUsedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type LicensesListEndpoint = {}; +type LicensesListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type LicensesGetEndpoint = { + /** + * license parameter + */ + license: string; +}; +type LicensesGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MarkdownRenderEndpoint = { + /** + * The Markdown text to render in HTML. Markdown content must be 400 KB or less. + */ + text: string; + /** + * The rendering mode. Can be either: + * \* `markdown` to render a document in plain Markdown, just like README.md files are rendered. + * \* `gfm` to render a document in [GitHub Flavored Markdown](https://github.github.com/gfm/), which creates links for user mentions as well as references to SHA-1 hashes, issues, and pull requests. + */ + mode?: "markdown" | "gfm"; + /** + * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + */ + context?: string; +}; +type MarkdownRenderRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MarkdownRenderRawEndpoint = { + /** + * data parameter + */ + data: string; +}; +type MarkdownRenderRawRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsCheckAccountIsAssociatedWithAnyEndpoint = { + /** + * account_id parameter + */ + account_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsCheckAccountIsAssociatedWithAnyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListPlansEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListPlansRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListAccountsUserOrOrgOnPlanEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListAccountsUserOrOrgOnPlanRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsCheckAccountIsAssociatedWithAnyStubbedEndpoint = { + /** + * account_id parameter + */ + account_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsCheckAccountIsAssociatedWithAnyStubbedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListPlansStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListPlansStubbedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListAccountsUserOrOrgOnPlanStubbedEndpoint = { + /** + * plan_id parameter + */ + plan_id: number; + /** + * Sorts the GitHub accounts by the date they were created or last updated. Can be one of `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListAccountsUserOrOrgOnPlanStubbedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MetaGetEndpoint = {}; +type MetaGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListPublicEventsForRepoNetworkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListPublicEventsForRepoNetworkRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListNotificationsEndpoint = { + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications 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; + /** + * 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; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListNotificationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityMarkAsReadEndpoint = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. 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; +}; +type ActivityMarkAsReadRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityGetThreadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +type ActivityGetThreadRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityMarkThreadAsReadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +type ActivityMarkThreadAsReadRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityGetThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +type ActivityGetThreadSubscriptionRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivitySetThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; + /** + * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + */ + ignored?: boolean; +}; +type ActivitySetThreadSubscriptionRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityDeleteThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +type ActivityDeleteThreadSubscriptionRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListEndpoint = { + /** + * The integer ID of the last Organization that you've seen. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsGetEndpoint = { + /** + * org parameter + */ + org: string; +}; +type OrgsGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsUpdateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Billing email address. This address is not publicized. + */ + billing_email?: string; + /** + * The company name. + */ + company?: string; + /** + * The publicly visible email address. + */ + email?: string; + /** + * The location. + */ + location?: string; + /** + * The shorthand name of the company. + */ + name?: string; + /** + * The description of the company. + */ + description?: string; + /** + * Toggles whether organization projects are enabled for the organization. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repository projects are enabled for repositories that belong to the organization. + */ + has_repository_projects?: boolean; + /** + * Default permission level members have for organization repositories: + * \* `read` - can pull, but not push to or administer this repository. + * \* `write` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push, and administer this repository. + * \* `none` - no permissions granted by default. + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only admin members can create repositories. + * Default: `true` + * **Note:** Another parameter can override the this parameter. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. **Note:** Another parameter can override the this parameter. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_can_create_repositories?: boolean; + /** + * Specifies which types of repositories non-admin organization members can create. Can be one of: + * \* `all` - all organization members can create public and private repositories. + * \* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on [GitHub Business Cloud](https://github.com/pricing/business-cloud). + * \* `none` - only admin members can create repositories. + * **Note:** Using this parameter will override values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; +}; +type OrgsUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListBlockedUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +type OrgsListBlockedUsersRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsCheckBlockedUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsCheckBlockedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsBlockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsBlockUserRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsUnblockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsUnblockUserRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListCredentialAuthorizationsEndpoint = { + /** + * org parameter + */ + org: string; +}; +type OrgsListCredentialAuthorizationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsRemoveCredentialAuthorizationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * credential_id parameter + */ + credential_id: number; +}; +type OrgsRemoveCredentialAuthorizationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListPublicEventsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListPublicEventsForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListHooksEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListHooksRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsCreateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Must be passed as "web". + */ + name: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). + */ + config: OrgsCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +type OrgsCreateHookRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsGetHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +type OrgsGetHookRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsUpdateHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). + */ + config?: OrgsUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +type OrgsUpdateHookRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsDeleteHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +type OrgsDeleteHookRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsPingHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +type OrgsPingHookRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsGetOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +}; +type AppsGetOrgInstallationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsFindOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +}; +type AppsFindOrgInstallationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type InteractionsGetRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +type InteractionsGetRestrictionsForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type InteractionsAddOrUpdateRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +}; +type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type InteractionsRemoveRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +type InteractionsRemoveRestrictionsForOrgRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListPendingInvitationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListPendingInvitationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsCreateInvitationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + */ + invitee_id?: number; + /** + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + */ + email?: string; + /** + * Specify role for new member. Can be one of: + * \* `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. + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** + * Specify IDs for the teams you want to invite new members to. + */ + team_ids?: number[]; +}; +type OrgsCreateInvitationRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListInvitationTeamsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListInvitationTeamsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter members returned in the list. Can be one of: + * \* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners. + * \* `all` - All members the authenticated user can see. + */ + filter?: "2fa_disabled" | "all"; + /** + * Filter members returned by their role. Can be one of: + * \* `all` - All members of the organization, regardless of role. + * \* `admin` - Organization owners. + * \* `member` - Non-owner organization members. + */ + role?: "all" | "admin" | "member"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListMembersRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsCheckMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsCheckMembershipRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsRemoveMemberEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsRemoveMemberRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsGetMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsGetMembershipRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsAddOrUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; + /** + * 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. + */ + role?: "admin" | "member"; +}; +type OrgsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsRemoveMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsStartForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * A list of arrays indicating which repositories should be migrated. + */ + repositories: string[]; + /** + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + */ + lock_repositories?: boolean; + /** + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + */ + exclude_attachments?: boolean; +}; +type MigrationsStartForOrgRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type MigrationsListForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsGetStatusForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +}; +type MigrationsGetStatusForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsGetArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +}; +type MigrationsGetArchiveForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsDeleteArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +}; +type MigrationsDeleteArchiveForOrgRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsUnlockRepoForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +}; +type MigrationsUnlockRepoForOrgRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListOutsideCollaboratorsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Filter the list of outside collaborators. Can be one of: + * \* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. + * \* `all`: All outside collaborators. + */ + filter?: "2fa_disabled" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListOutsideCollaboratorsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsRemoveOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsRemoveOutsideCollaboratorRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsConvertMemberToOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ProjectsListForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsCreateForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +}; +type ProjectsCreateForOrgRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListPublicMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListPublicMembersRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsCheckPublicMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsCheckPublicMembershipRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsPublicizeMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsPublicizeMembershipRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsConcealMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +type OrgsConcealMembershipRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * 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. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * 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; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * 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; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.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; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; +}; +type ReposCreateInOrgRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListIdPGroupsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListIdPGroupsForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsCreateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * The logins of organization members to add as maintainers of the team. + */ + maintainers?: string[]; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; + /** + * 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` + * **Note**: You must pass the `hellcat-preview` media type to set privacy default to `closed` for child teams. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + */ + parent_team_id?: number; +}; +type TeamsCreateRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsGetByNameEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +type TeamsGetByNameRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsGetCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +}; +type ProjectsGetCardRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsUpdateCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a `content_id` and `content_type`. + */ + note?: string; + /** + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + */ + archived?: boolean; +}; +type ProjectsUpdateCardRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsDeleteCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +}; +type ProjectsDeleteCardRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsMoveCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; + /** + * Can be one of `top`, `bottom`, or `after:`, where `` is the `id` value of a card in the same column, or in the new column specified by `column_id`. + */ + position: string; + /** + * The `id` value of a column in the same project. + */ + column_id?: number; +}; +type ProjectsMoveCardRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsGetColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +}; +type ProjectsGetColumnRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsUpdateColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The new name of the column. + */ + name: string; +}; +type ProjectsUpdateColumnRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsDeleteColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +}; +type ProjectsDeleteColumnRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsListCardsEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + */ + archived_state?: "all" | "archived" | "not_archived"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ProjectsListCardsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsCreateCardEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The card's note content. Only valid for cards without another type of content, so you must omit when specifying `content_id` and `content_type`. + */ + note?: string; + /** + * The issue or pull request id you want to associate with this card. You can use the [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) and [List pull requests](https://developer.github.com/v3/pulls/#list-pull-requests) endpoints to find this id. + * **Note:** Depending on whether you use the issue id or pull request id, you will need to specify `Issue` or `PullRequest` as the `content_type`. + */ + content_id?: number; + /** + * **Required if you provide `content_id`**. The type of content you want to associate with this card. Use `Issue` when `content_id` is an issue id and use `PullRequest` when `content_id` is a pull request id. + */ + content_type?: string; +}; +type ProjectsCreateCardRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsMoveColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + */ + position: string; +}; +type ProjectsMoveColumnRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsGetEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ProjectsGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsUpdateEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the project. + */ + name?: string; + /** + * The description of the project. + */ + body?: string; + /** + * State of the project. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The permission level that determines whether all members of the project's organization can see and/or make changes to the project. Setting `organization_permission` is only available for organization projects. If an organization member belongs to a team with a higher level of access or is a collaborator with a higher level of access, their permission level is not lowered by `organization_permission`. For information on changing access for a team or collaborator, see [Add or update team project](https://developer.github.com/v3/teams/#add-or-update-team-project) or [Add user as a collaborator](https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator). + * + * **Note:** Updating a project's `organization_permission` requires `admin` access to the project. + * + * Can be one of: + * \* `read` - Organization members can read, but not write to or administer this project. + * \* `write` - Organization members can read and write, but not administer this project. + * \* `admin` - Organization members can read, write and administer this project. + * \* `none` - Organization members can only see this project if it is public. + */ + organization_permission?: string; + /** + * Sets the visibility of a project board. Setting `private` is only available for organization and user projects. **Note:** Updating a project's visibility requires `admin` access to the project. + * + * Can be one of: + * \* `false` - Anyone can see the project. + * \* `true` - Only the user can view a project board created on a user account. Organization members with the appropriate `organization_permission` can see project boards in an organization account. + */ + private?: boolean; +}; +type ProjectsUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsDeleteEndpoint = { + /** + * project_id parameter + */ + project_id: number; +}; +type ProjectsDeleteRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsListCollaboratorsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Filters the collaborators by their affiliation. Can be one of: + * \* `outside`: Outside collaborators of a project that are not a member of the project's organization. + * \* `direct`: Collaborators with permissions to a project, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ProjectsListCollaboratorsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsAddCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. 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://developer.github.com/v3/#http-verbs)." Can be one of: + * \* `read` - can read, but not write to or administer this project. + * \* `write` - can read and write, but not administer this project. + * \* `admin` - can read, write and administer this project. + */ + permission?: "read" | "write" | "admin"; +}; +type ProjectsAddCollaboratorRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsRemoveCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +}; +type ProjectsRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsReviewUserPermissionLevelEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +}; +type ProjectsReviewUserPermissionLevelRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsListColumnsEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ProjectsListColumnsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsCreateColumnEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the column. + */ + name: string; +}; +type ProjectsCreateColumnRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type RateLimitGetEndpoint = {}; +type RateLimitGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsDeleteEndpoint = { + /** + * reaction_id parameter + */ + reaction_id: number; +}; +type ReactionsDeleteRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the repository. + */ + name?: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to make the repository private or `false` to make it public. Creating private repositories requires a paid GitHub account. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.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. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.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. + */ + private?: boolean; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * 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. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * Updates the default branch for this repository. + */ + default_branch?: string; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; +}; +type ReposUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposDeleteRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListAssigneesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesCheckAssigneeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * assignee parameter + */ + assignee: string; +}; +type IssuesCheckAssigneeRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposEnableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposEnableAutomatedSecurityFixesRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDisableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposDisableAutomatedSecurityFixesRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListBranchesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + */ + protected?: boolean; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListBranchesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetBranchRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetBranchProtectionRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require status checks to pass before merging. Set to `null` to disable. + */ + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + /** + * 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; + /** + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + */ + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + /** + * Restrict who can push to this branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; +}; +type ReposUpdateBranchProtectionRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposRemoveBranchProtectionRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetProtectedBranchAdminEnforcementRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposAddProtectedBranchAdminEnforcementRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Specify which users and teams 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?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + /** + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + */ + dismiss_stale_reviews?: boolean; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + */ + require_code_owner_reviews?: boolean; + /** + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; +}; +type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * Require branches to be up to date before merging. + */ + strict?: boolean; + /** + * The list of status checks to require in order to merge into this branch + */ + contexts?: string[]; +}; +type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetProtectedBranchRestrictionsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposRemoveProtectedBranchRestrictionsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposListAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposReplaceProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +type ReposReplaceProtectedBranchAppRestrictionsRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +type ReposAddProtectedBranchAppRestrictionsRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +type ReposRemoveProtectedBranchAppRestrictionsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposListProtectedBranchTeamRestrictionsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposListTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposGetUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposListProtectedBranchUserRestrictionsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +type ReposListUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +type ReposAddProtectedBranchUserRestrictionsRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the check. For example, "code-coverage". + */ + name: string; + /** + * The SHA of the commit. + */ + head_sha: string; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * 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; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required"; + /** + * 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; + /** + * 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. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object) description. + */ + output?: ChecksCreateParamsOutput; + /** + * 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://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksCreateParamsActions[]; +}; +type ChecksCreateRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * The name of the check. For example, "code-coverage". + */ + name?: string; + /** + * The URL of the integrator's site that has the full details of the check. + */ + details_url?: string; + /** + * A reference for the run on the integrator's system. + */ + external_id?: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * The current status. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required"; + /** + * 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; + /** + * 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. See the [`output` object](https://developer.github.com/v3/checks/runs/#output-object-1) description. + */ + output?: ChecksUpdateParamsOutput; + /** + * 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. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." + */ + actions?: ChecksUpdateParamsActions[]; +}; +type ChecksUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; +}; +type ChecksGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksListAnnotationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ChecksListAnnotationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksCreateSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sha of the head commit. + */ + head_sha: string; +}; +type ChecksCreateSuiteRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksSetSuitesPreferencesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://developer.github.com/v3/checks/suites/#auto_trigger_checks-object) description for details. + */ + auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; +}; +type ChecksSetSuitesPreferencesRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksGetSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +}; +type ChecksGetSuiteRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksListForSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ChecksListForSuiteRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksRerequestSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +}; +type ChecksRerequestSuiteRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListCollaboratorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Filter collaborators returned by their affiliation. Can be one of: + * \* `outside`: All outside collaborators of an organization-owned repository. + * \* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status. + * \* `all`: All collaborators the authenticated user can see. + */ + affiliation?: "outside" | "direct" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListCollaboratorsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCheckCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +type ReposCheckCollaboratorRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; + /** + * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of: + * \* `pull` - can pull, but not push to or administer this repository. + * \* `push` - can pull and push, but not administer this repository. + * \* `admin` - can pull, push and administer this repository. + */ + permission?: "pull" | "push" | "admin"; +}; +type ReposAddCollaboratorRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +type ReposRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetCollaboratorPermissionLevelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +type ReposGetCollaboratorPermissionLevelRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListCommitCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListCommitCommentsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +type ReposGetCommitCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment + */ + body: string; +}; +type ReposUpdateCommitCommentRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +type ReposDeleteCommitCommentRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsListForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a commit comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReactionsListForCommitCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsCreateForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; +}; +type ReactionsCreateForCommitCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). + */ + sha?: string; + /** + * Only commits containing this file path will be returned. + */ + path?: string; + /** + * GitHub login or email address by which to filter by commit author. + */ + author?: string; + /** + * Only commits after 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`. + */ + since?: string; + /** + * 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; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListCommitsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListBranchesForHeadCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +type ReposListBranchesForHeadCommitRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListCommentsForCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListCommentsForCommitRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * The contents of the comment. + */ + body: string; + /** + * Relative path of the file to comment on. + */ + path?: string; + /** + * Line index in the diff to comment on. + */ + position?: number; + /** + * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + */ + line?: number; +}; +type ReposCreateCommitCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListPullRequestsAssociatedWithCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListPullRequestsAssociatedWithCommitRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +type ReposGetCommitRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksListForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Returns check runs with the specified `name`. + */ + check_name?: string; + /** + * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ChecksListForRefRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ChecksListSuitesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Filters check suites by GitHub App `id`. + */ + app_id?: number; + /** + * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + */ + check_name?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ChecksListSuitesForRefRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetCombinedStatusForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +type ReposGetCombinedStatusForRefRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListStatusesForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListStatusesForRefRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type CodesOfConductGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type CodesOfConductGetForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRetrieveCommunityProfileMetricsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposRetrieveCommunityProfileMetricsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCompareCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * base parameter + */ + base: string; + /** + * head parameter + */ + head: string; +}; +type ReposCompareCommitsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetContentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +type ReposGetContentsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateOrUpdateFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateOrUpdateFileParamsCommitter; + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateOrUpdateFileParamsAuthor; +}; +type ReposCreateOrUpdateFileRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposCreateFileParamsCommitter; + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposCreateFileParamsAuthor; +}; +type ReposCreateFileRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The new file content, using Base64 encoding. + */ + content: string; + /** + * **Required if you are updating a file**. The blob SHA of the file being replaced. + */ + sha?: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * The person that committed the file. Default: the authenticated user. + */ + committer?: ReposUpdateFileParamsCommitter; + /** + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. + */ + author?: ReposUpdateFileParamsAuthor; +}; +type ReposUpdateFileRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteFileEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * path parameter + */ + path: string; + /** + * The commit message. + */ + message: string; + /** + * The blob SHA of the file being replaced. + */ + sha: string; + /** + * The branch name. Default: the repository’s default branch (usually `master`) + */ + branch?: string; + /** + * object containing information about the committer. + */ + committer?: ReposDeleteFileParamsCommitter; + /** + * object containing information about the author. + */ + author?: ReposDeleteFileParamsAuthor; +}; +type ReposDeleteFileRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListContributorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `1` or `true` to include anonymous contributors in results. + */ + anon?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListContributorsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListDeploymentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The SHA recorded at creation time. + */ + sha?: string; + /** + * The name of the ref. This can be a branch, tag, or SHA. + */ + ref?: string; + /** + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListDeploymentsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The ref to deploy. This can be a branch, tag, or SHA. + */ + ref: string; + /** + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + */ + task?: string; + /** + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + */ + auto_merge?: boolean; + /** + * The [status](https://developer.github.com/v3/repos/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[]; + /** + * JSON payload with extra information about the deployment. + */ + payload?: string; + /** + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + */ + environment?: string; + /** + * Short description of the deployment. + */ + description?: string; + /** + * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + transient_environment?: boolean; + /** + * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + production_environment?: boolean; +}; +type ReposCreateDeploymentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +type ReposGetDeploymentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListDeploymentStatusesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListDeploymentStatusesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * 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`. + */ + target_url?: string; + /** + * 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: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + log_url?: string; + /** + * A short description of the status. The maximum description length is 140 characters. + */ + description?: string; + /** + * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + */ + environment?: "production" | "staging" | "qa"; + /** + * Sets the URL for accessing your environment. Default: `""` + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + environment_url?: string; + /** + * 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` + * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://developer.github.com/v3/previews/#deployment-statuses) custom media type. + * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://developer.github.com/v3/previews/#enhanced-deployments) custom media type. + */ + auto_inactive?: boolean; +}; +type ReposCreateDeploymentStatusRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * status_id parameter + */ + status_id: number; +}; +type ReposGetDeploymentStatusRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateDispatchEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; +}; +type ReposCreateDispatchEventRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListDownloadsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListDownloadsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +type ReposGetDownloadRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +type ReposDeleteDownloadRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListRepoEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListRepoEventsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListForksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + */ + sort?: "newest" | "oldest" | "stargazers"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListForksRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateForkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; +}; +type ReposCreateForkRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitCreateBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The new blob's content. + */ + content: string; + /** + * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + */ + encoding?: string; +}; +type GitCreateBlobRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitGetBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * file_sha parameter + */ + file_sha: string; +}; +type GitGetBlobRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitCreateCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The commit message + */ + message: string; + /** + * The SHA of the tree object this commit points to + */ + tree: string; + /** + * 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[]; + /** + * 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?: GitCreateCommitParamsAuthor; + /** + * 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?: GitCreateCommitParamsCommitter; + /** + * 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; +}; +type GitCreateCommitRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +type GitGetCommitRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitListMatchingRefsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GitListMatchingRefsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitGetRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +type GitGetRefRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitCreateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * 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; + /** + * The SHA1 value for this reference. + */ + sha: string; +}; +type GitCreateRefRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitUpdateRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; + /** + * The SHA1 value to set this reference to + */ + sha: string; + /** + * 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. + */ + force?: boolean; +}; +type GitUpdateRefRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitDeleteRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +type GitDeleteRefRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitCreateTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The tag's name. This is typically a version (e.g., "v0.0.1"). + */ + tag: string; + /** + * The tag message. + */ + message: string; + /** + * The SHA of the git object this is tagging. + */ + object: string; + /** + * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + */ + type: "commit" | "tree" | "blob"; + /** + * An object with information about the individual creating the tag. + */ + tagger?: GitCreateTagParamsTagger; +}; +type GitCreateTagRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitGetTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag_sha parameter + */ + tag_sha: string; +}; +type GitGetTagRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitCreateTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + */ + tree: GitCreateTreeParamsTree[]; + /** + * The SHA1 of the tree you want to update with new data. If you don't set this, the commit will be created on top of everything; however, it will only contain your change, the rest of your files will show up as deleted. + */ + base_tree?: string; +}; +type GitCreateTreeRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GitGetTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tree_sha parameter + */ + tree_sha: string; + /** + * recursive parameter + */ + recursive?: "1"; +}; +type GitGetTreeRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListHooksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListHooksRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. + */ + name?: string; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config: ReposCreateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + */ + events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +type ReposCreateHookRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +type ReposGetHookRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; + /** + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). + */ + config?: ReposUpdateHookParamsConfig; + /** + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + */ + events?: string[]; + /** + * Determines a list of events to be added to the list of events that the Hook triggers for. + */ + add_events?: string[]; + /** + * Determines a list of events to be removed from the list of events that the Hook triggers for. + */ + remove_events?: string[]; + /** + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + */ + active?: boolean; +}; +type ReposUpdateHookRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +type ReposDeleteHookRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposPingHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +type ReposPingHookRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposTestPushHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +type ReposTestPushHookRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsStartImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The URL of the originating repository. + */ + vcs_url: string; + /** + * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that 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. + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** + * If authentication is required, the username to provide to `vcs_url`. + */ + vcs_username?: string; + /** + * If authentication is required, the password to provide to `vcs_url`. + */ + vcs_password?: string; + /** + * For a tfvc import, the name of the project that is being imported. + */ + tfvc_project?: string; +}; +type MigrationsStartImportRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsGetImportProgressEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type MigrationsGetImportProgressRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsUpdateImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The username to provide to the originating repository. + */ + vcs_username?: string; + /** + * The password to provide to the originating repository. + */ + vcs_password?: string; +}; +type MigrationsUpdateImportRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsCancelImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type MigrationsCancelImportRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsGetCommitAuthorsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the `raw` step. + */ + since?: string; +}; +type MigrationsGetCommitAuthorsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsMapCommitAuthorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * author_id parameter + */ + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; +}; +type MigrationsMapCommitAuthorRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsGetLargeFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type MigrationsGetLargeFilesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsSetLfsPreferenceEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import). + */ + use_lfs: "opt_in" | "opt_out"; +}; +type MigrationsSetLfsPreferenceRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsGetRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type AppsGetRepoInstallationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsFindRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type AppsFindRepoInstallationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type InteractionsGetRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type InteractionsGetRestrictionsForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type InteractionsAddOrUpdateRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Must be one of: `existing_users`, `contributors_only`, or `collaborators_only`. + */ + limit: "existing_users" | "contributors_only" | "collaborators_only"; +}; +type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type InteractionsRemoveRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type InteractionsRemoveRestrictionsForRepoRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListInvitationsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListInvitationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; +}; +type ReposDeleteInvitationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; + /** + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, and `admin`. + */ + permissions?: "read" | "write" | "admin"; +}; +type ReposUpdateInvitationRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * 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; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * 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; + /** + * The user that created the issue. + */ + creator?: string; + /** + * A user that's mentioned in the issue. + */ + mentioned?: string; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the issue. + */ + title: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * 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; + /** + * The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._ + */ + milestone?: number; + /** + * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * 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[]; +}; +type IssuesCreateRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `created` or `updated`. + */ + sort?: "created" | "updated"; + /** + * Either `asc` or `desc`. Ignored without the `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; +}; +type IssuesListCommentsForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesGetCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment. + */ + body: string; +}; +type IssuesUpdateCommentRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +type IssuesDeleteCommentRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsListForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReactionsListForIssueCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsCreateForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; +}; +type ReactionsCreateForIssueCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListEventsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListEventsForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesGetEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * event_id parameter + */ + event_id: number; +}; +type IssuesGetEventRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +type IssuesGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The title of the issue. + */ + title?: string; + /** + * The contents of the issue. + */ + body?: string; + /** + * Login for the user that this issue should be assigned to. **This field is deprecated.** + */ + assignee?: string; + /** + * State of the issue. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * The `number` of the milestone to associate this issue with or `null` to remove current. _NOTE: Only users with push access can set the milestone for issues. The milestone is silently dropped otherwise._ + */ + milestone?: number | null; + /** + * 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. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ + */ + labels?: string[]; + /** + * Logins for Users 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. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ + */ + assignees?: string[]; +}; +type IssuesUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesAddAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * 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[]; +}; +type IssuesAddAssigneesRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesRemoveAssigneesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * 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[]; +}; +type IssuesRemoveAssigneesRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Only comments updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListCommentsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The contents of the comment. + */ + body: string; +}; +type IssuesCreateCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListEventsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListEventsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListLabelsOnIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListLabelsOnIssueRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesAddLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The name of the label to add to the issue. Must contain at least one label. **Note:** 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. + */ + labels: string[]; +}; +type IssuesAddLabelsRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesReplaceLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** 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. + */ + labels?: string[]; +}; +type IssuesReplaceLabelsRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesRemoveLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +type IssuesRemoveLabelsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesRemoveLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * name parameter + */ + name: string; +}; +type IssuesRemoveLabelRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesLockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * 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` + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; +}; +type IssuesLockRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesUnlockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +type IssuesUnlockRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsListForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReactionsListForIssueRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsCreateForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; +}; +type ReactionsCreateForIssueRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListEventsForTimelineEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListEventsForTimelineRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListDeployKeysEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListDeployKeysRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAddDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * A name for the key. + */ + title?: string; + /** + * The contents of the key. + */ + key: string; + /** + * 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://help.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; +}; +type ReposAddDeployKeyRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +type ReposGetDeployKeyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRemoveDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +type ReposRemoveDeployKeyRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListLabelsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListLabelsForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesCreateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * 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.com](http://emoji-cheat-sheet.com/). + */ + name: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color: string; + /** + * A short description of the label. + */ + description?: string; +}; +type IssuesCreateLabelRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesGetLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +type IssuesGetLabelRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesUpdateLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * 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.com](http://emoji-cheat-sheet.com/). + */ + new_name?: string; + /** + * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + */ + color?: string; + /** + * A short description of the label. + */ + description?: string; +}; +type IssuesUpdateLabelRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesDeleteLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +type IssuesDeleteLabelRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListLanguagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposListLanguagesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type LicensesGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type LicensesGetForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the base branch that the head will be merged into. + */ + base: string; + /** + * The head to merge. This can be a branch name or a commit SHA1. + */ + head: string; + /** + * Commit message to use for the merge commit. If omitted, a default message will be used. + */ + commit_message?: string; +}; +type ReposMergeRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListMilestonesForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The state of the milestone. Either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * What to sort results by. Either `due_on` or `completeness`. + */ + sort?: "due_on" | "completeness"; + /** + * The direction of the sort. Either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListMilestonesForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesCreateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the milestone. + */ + title: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * 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; +}; +type IssuesCreateMilestoneRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesGetMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +type IssuesGetMilestoneRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesUpdateMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * The title of the milestone. + */ + title?: string; + /** + * The state of the milestone. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * A description of the milestone. + */ + description?: string; + /** + * 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; +}; +type IssuesUpdateMilestoneRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesDeleteMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +type IssuesDeleteMilestoneRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListLabelsForMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListLabelsForMilestoneRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListNotificationsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * If `true`, show notifications marked as read. + */ + all?: boolean; + /** + * If `true`, only shows notifications in which the user is directly participating or mentioned. + */ + participating?: boolean; + /** + * Only show notifications 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; + /** + * 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; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListNotificationsForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityMarkNotificationsAsReadForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be updated. 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; +}; +type ActivityMarkNotificationsAsReadForRepoRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetPagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetPagesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposEnablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * source parameter + */ + source?: ReposEnablePagesSiteParamsSource; +}; +type ReposEnablePagesSiteRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDisablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposDisablePagesSiteRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateInformationAboutPagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * 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://help.github.com/articles/using-a-custom-domain-with-github-pages/)." + */ + cname?: string; + /** + * Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `"gh-pages"`, `"master"`, and `"master /docs"`. + */ + source?: '"gh-pages"' | '"master"' | '"master /docs"'; +}; +type ReposUpdateInformationAboutPagesSiteRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposRequestPageBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposRequestPageBuildRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListPagesBuildsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListPagesBuildsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetLatestPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetLatestPagesBuildRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * build_id parameter + */ + build_id: number; +}; +type ReposGetPagesBuildRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsListForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ProjectsListForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsCreateForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +}; +type ProjectsCreateForRepoRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsListEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Either `open`, `closed`, or `all` to filter by state. + */ + state?: "open" | "closed" | "all"; + /** + * 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; + /** + * Filter pulls by base branch name. Example: `gh-pages`. + */ + base?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month). + */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsCreateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The title of the new pull request. + */ + title: string; + /** + * 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; + /** + * 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; + /** + * The contents of the pull request. + */ + body?: string; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; + /** + * Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. + */ + draft?: boolean; +}; +type PullsCreateRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsListCommentsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsListCommentsForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +type PullsGetCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the reply to the review comment. + */ + body: string; +}; +type PullsUpdateCommentRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +type PullsDeleteCommentRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsListForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a pull request review comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReactionsListForPullRequestReviewCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsCreateForPullRequestReviewCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; +}; +type ReactionsCreateForPullRequestReviewCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +type PullsGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsUpdateEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The title of the pull request. + */ + title?: string; + /** + * The contents of the pull request. + */ + body?: string; + /** + * State of this Pull Request. Either `open` or `closed`. + */ + state?: "open" | "closed"; + /** + * 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; + /** + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + */ + maintainer_can_modify?: boolean; +}; +type PullsUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsListCommentsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; + /** + * Can be either `asc` or `desc`. Ignored without `sort` parameter. + */ + direction?: "asc" | "desc"; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only returns comments `updated` at or after this time. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsListCommentsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required with `comfort-fade` preview**. 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; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +type PullsCreateCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsCreateCommentReplyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * The text of the review comment. + */ + body: string; + /** + * 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; + /** + * The relative path to the file that necessitates a comment. + */ + path: string; + /** + * **Required without `comfort-fade` preview**. 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; + /** + * **Required with `comfort-fade` preview**. 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://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + */ + side?: "LEFT" | "RIGHT"; + /** + * **Required with `comfort-fade` preview**. 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; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. + */ + start_line?: number; + /** + * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. 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://help.github.com/en/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. + */ + start_side?: "LEFT" | "RIGHT" | "side"; +}; +type PullsCreateCommentReplyRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsCreateReviewCommentReplyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The text of the review comment. + */ + body: string; +}; +type PullsCreateReviewCommentReplyRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsListCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsListCommitsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsListFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsListFilesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsCheckIfMergedEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +type PullsCheckIfMergedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsMergeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Title for the automatic commit message. + */ + commit_title?: string; + /** + * Extra detail to append to automatic commit message. + */ + commit_message?: string; + /** + * SHA that pull request head must match to allow merge. + */ + sha?: string; + /** + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + */ + merge_method?: "merge" | "squash" | "rebase"; +}; +type PullsMergeRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsListReviewRequestsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsListReviewRequestsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsCreateReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be requested. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be requested. + */ + team_reviewers?: string[]; +}; +type PullsCreateReviewRequestRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsDeleteReviewRequestEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * An array of user `login`s that will be removed. + */ + reviewers?: string[]; + /** + * An array of team `slug`s that will be removed. + */ + team_reviewers?: string[]; +}; +type PullsDeleteReviewRequestRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsListReviewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsListReviewsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsCreateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * 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; + /** + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + */ + body?: string; + /** + * 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://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) when you are ready. + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** + * Use the following table to specify the location, destination, and contents of the draft review comment. + */ + comments?: PullsCreateReviewParamsComments[]; +}; +type PullsCreateReviewRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsGetReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +type PullsGetReviewRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsDeletePendingReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +type PullsDeletePendingReviewRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsUpdateReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review. + */ + body: string; +}; +type PullsUpdateReviewRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsGetCommentsForReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type PullsGetCommentsForReviewRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsDismissReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The message for the pull request review dismissal + */ + message: string; +}; +type PullsDismissReviewRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsSubmitReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; + /** + * The body text of the pull request review + */ + body?: string; + /** + * 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. + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; +}; +type PullsSubmitReviewRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type PullsUpdateBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * 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 on a repository](https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. + */ + expected_head_sha?: string; +}; +type PullsUpdateBranchRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetReadmeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; +}; +type ReposGetReadmeRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListReleasesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListReleasesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the tag. + */ + tag_name: string; + /** + * 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 (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` to create a draft (unpublished) release, `false` to create a published one. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +type ReposCreateReleaseRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +type ReposGetReleaseAssetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; + /** + * The file name of the asset. + */ + name?: string; + /** + * An alternate short description of the asset. Used in place of the filename. + */ + label?: string; +}; +type ReposUpdateReleaseAssetRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +type ReposDeleteReleaseAssetRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetLatestReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetLatestReleaseRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetReleaseByTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag parameter + */ + tag: string; +}; +type ReposGetReleaseByTagRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +type ReposGetReleaseRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposUpdateReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * The name of the tag. + */ + tag_name?: string; + /** + * 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 (usually `master`). + */ + target_commitish?: string; + /** + * The name of the release. + */ + name?: string; + /** + * Text describing the contents of the tag. + */ + body?: string; + /** + * `true` makes the release a draft, and `false` publishes the release. + */ + draft?: boolean; + /** + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + */ + prerelease?: boolean; +}; +type ReposUpdateReleaseRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeleteReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +type ReposDeleteReleaseRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListAssetsForReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListAssetsForReleaseRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListStargazersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListStargazersForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetCodeFrequencyStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetCodeFrequencyStatsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetCommitActivityStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetCommitActivityStatsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetContributorsStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetContributorsStatsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetParticipationStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetParticipationStatsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetPunchCardStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetPunchCardStatsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * sha parameter + */ + sha: string; + /** + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + */ + state: "error" | "failure" | "pending" | "success"; + /** + * 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; + /** + * A short description of the status. + */ + description?: string; + /** + * A string label to differentiate this status from the status of other systems. + */ + context?: string; +}; +type ReposCreateStatusRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListWatchersForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListWatchersForRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityGetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityGetRepoSubscriptionRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivitySetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Determines if notifications should be received from this repository. + */ + subscribed?: boolean; + /** + * Determines if all notifications should be blocked from this repository. + */ + ignored?: boolean; +}; +type ActivitySetRepoSubscriptionRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityDeleteRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityDeleteRepoSubscriptionRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListTagsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListTagsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListTeamsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListTeamsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposListTopicsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposReplaceTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * 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[]; +}; +type ReposReplaceTopicsRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetClonesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +type ReposGetClonesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetTopPathsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetTopPathsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetTopReferrersEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposGetTopReferrersRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetViewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +type ReposGetViewsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposTransferEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** The username or organization name the repository will be transferred to. + */ + new_owner?: string; + /** + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + */ + team_ids?: number[]; +}; +type ReposTransferRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCheckVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposCheckVulnerabilityAlertsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposEnableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposEnableVulnerabilityAlertsRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDisableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ReposDisableVulnerabilityAlertsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposGetArchiveLinkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * archive_format parameter + */ + archive_format: string; + /** + * ref parameter + */ + ref: string; +}; +type ReposGetArchiveLinkRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateUsingTemplateEndpoint = { + /** + * template_owner parameter + */ + template_owner: string; + /** + * template_repo parameter + */ + template_repo: string; + /** + * 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; + /** + * The name of the new repository. + */ + name: string; + /** + * A short description of the new repository. + */ + description?: string; + /** + * Either `true` to create a new private repository or `false` to create a new public one. + */ + private?: boolean; +}; +type ReposCreateUsingTemplateRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListPublicEndpoint = { + /** + * The integer ID of the last Repository that you've seen. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListPublicRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimListProvisionedIdentitiesEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Used for pagination: the index of the first result to return. + */ + startIndex?: number; + /** + * Used for pagination: the number of results to return. + */ + count?: number; + /** + * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query: `?filter=userName%20eq%20\"Octocat\"`. + */ + filter?: string; +}; +type ScimListProvisionedIdentitiesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimProvisionAndInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +type ScimProvisionAndInviteUsersRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimProvisionInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +type ScimProvisionInviteUsersRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimGetProvisioningDetailsForUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +type ScimGetProvisioningDetailsForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimReplaceProvisionedUserInformationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +type ScimReplaceProvisionedUserInformationRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimUpdateProvisionedOrgMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +type ScimUpdateProvisionedOrgMembershipRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimUpdateUserAttributeEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +type ScimUpdateUserAttributeRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ScimRemoveUserFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +type ScimRemoveUserFromOrgRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchCodeEndpoint = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching code](https://help.github.com/articles/searching-code/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "indexed"; + /** + * 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"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type SearchCodeRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchCommitsEndpoint = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching commits](https://help.github.com/articles/searching-commits/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "author-date" | "committer-date"; + /** + * 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"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type SearchCommitsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchIssuesAndPullRequestsEndpoint = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + /** + * 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"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type SearchIssuesAndPullRequestsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchIssuesEndpoint = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + /** + * 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"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type SearchIssuesRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchLabelsEndpoint = { + /** + * The id of the repository. + */ + repository_id: number; + /** + * 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://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; + /** + * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "created" | "updated"; + /** + * 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"; +}; +type SearchLabelsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchReposEndpoint = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. + */ + q: string; + /** + * 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://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** + * 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"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type SearchReposRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchTopicsEndpoint = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). + */ + q: string; +}; +type SearchTopicsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type SearchUsersEndpoint = { + /** + * 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 GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://developer.github.com/v3/search/#constructing-a-search-query). See "[Searching users](https://help.github.com/articles/searching-users/)" for a detailed list of qualifiers. + */ + q: string; + /** + * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) + */ + sort?: "followers" | "repositories" | "joined"; + /** + * 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"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type SearchUsersRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsGetEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +type TeamsGetRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsUpdateEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * 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. + */ + privacy?: "secret" | "closed"; + /** + * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of: + * \* `pull` - team members can pull, but not push to or administer newly-added repositories. + * \* `push` - team members can pull and push, but not administer newly-added repositories. + * \* `admin` - team members can pull, push and administer newly-added repositories. + */ + permission?: "pull" | "push" | "admin"; + /** + * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + */ + parent_team_id?: number; +}; +type TeamsUpdateRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsDeleteEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +type TeamsDeleteRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListDiscussionsEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListDiscussionsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsCreateDiscussionEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The discussion post's title. + */ + title: string; + /** + * The discussion post's body text. + */ + body: string; + /** + * 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. + */ + private?: boolean; +}; +type TeamsCreateDiscussionRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsGetDiscussionEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +type TeamsGetDiscussionRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsUpdateDiscussionEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +type TeamsUpdateDiscussionRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsDeleteDiscussionEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +type TeamsDeleteDiscussionRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListDiscussionCommentsEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Sorts the discussion comments by the date they were created. To return the oldest comments first, set to `asc`. Can be one of `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListDiscussionCommentsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsCreateDiscussionCommentEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +type TeamsCreateDiscussionCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsGetDiscussionCommentEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +type TeamsGetDiscussionCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsUpdateDiscussionCommentEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +type TeamsUpdateDiscussionCommentRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsDeleteDiscussionCommentEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +type TeamsDeleteDiscussionCommentRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsListForTeamDiscussionCommentEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion comment. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReactionsListForTeamDiscussionCommentRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsCreateForTeamDiscussionCommentEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; +}; +type ReactionsCreateForTeamDiscussionCommentRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsListForTeamDiscussionEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. + */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReactionsListForTeamDiscussionRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReactionsCreateForTeamDiscussionEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; +}; +type ReactionsCreateForTeamDiscussionRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListPendingInvitationsEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListPendingInvitationsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListMembersEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Filters members returned by their role in the team. Can be one of: + * \* `member` - normal members of the team. + * \* `maintainer` - team maintainers. + * \* `all` - all members of the team. + */ + role?: "member" | "maintainer" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListMembersRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsGetMemberEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +type TeamsGetMemberRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsAddMemberEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +type TeamsAddMemberRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsRemoveMemberEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +type TeamsRemoveMemberRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsGetMembershipEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +type TeamsGetMembershipRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsAddOrUpdateMembershipEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; + /** + * The role that this user should have in the team. Can be one of: + * \* `member` - a normal member of the team. + * \* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description. + */ + role?: "member" | "maintainer"; +}; +type TeamsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsRemoveMembershipEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +type TeamsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListProjectsEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListProjectsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsReviewProjectEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +type TeamsReviewProjectRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsAddOrUpdateProjectEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; + /** + * The permission to grant to the team for this project. Can be one of: + * \* `read` - team members can read, but not write to or administer this project. + * \* `write` - team members can read and write, but not administer this project. + * \* `admin` - team members can read, write and administer 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 out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * **Note**: If you pass the `hellcat-preview` media type, you can promote—but not demote—a `permission` attribute inherited from a parent team. + */ + permission?: "read" | "write" | "admin"; +}; +type TeamsAddOrUpdateProjectRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsRemoveProjectEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +type TeamsRemoveProjectRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListReposEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListReposRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsCheckManagesRepoEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type TeamsCheckManagesRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsAddOrUpdateRepoEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The permission to grant the team on this repository. Can be one of: + * \* `pull` - team members can pull, but not push to or administer this repository. + * \* `push` - team members can pull and push, but not administer this repository. + * \* `admin` - team members can pull, push and administer 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. + * **Note**: If you pass the `hellcat-preview` media type, you can promote—but not demote—a `permission` attribute inherited through a parent team. + */ + permission?: "pull" | "push" | "admin"; +}; +type TeamsAddOrUpdateRepoRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsRemoveRepoEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type TeamsRemoveRepoRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListIdPGroupsEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +type TeamsListIdPGroupsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsCreateOrUpdateIdPGroupConnectionsEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove. + */ + groups: TeamsCreateOrUpdateIdPGroupConnectionsParamsGroups[]; +}; +type TeamsCreateOrUpdateIdPGroupConnectionsRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListChildEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListChildRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersGetAuthenticatedEndpoint = {}; +type UsersGetAuthenticatedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersUpdateAuthenticatedEndpoint = { + /** + * The new name of the user. + */ + name?: string; + /** + * The publicly visible email address of the user. + */ + email?: string; + /** + * The new blog URL of the user. + */ + blog?: string; + /** + * The new company of the user. + */ + company?: string; + /** + * The new location of the user. + */ + location?: string; + /** + * The new hiring availability of the user. + */ + hireable?: boolean; + /** + * The new short biography of the user. + */ + bio?: string; +}; +type UsersUpdateAuthenticatedRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListBlockedEndpoint = {}; +type UsersListBlockedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersCheckBlockedEndpoint = { + /** + * username parameter + */ + username: string; +}; +type UsersCheckBlockedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersBlockEndpoint = { + /** + * username parameter + */ + username: string; +}; +type UsersBlockRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersUnblockEndpoint = { + /** + * username parameter + */ + username: string; +}; +type UsersUnblockRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersTogglePrimaryEmailVisibilityEndpoint = { + /** + * Specify the _primary_ email address that needs a visibility change. + */ + email: string; + /** + * Use `public` to enable an authenticated user to view the specified email address, or use `private` so this primary email address cannot be seen publicly. + */ + visibility: string; +}; +type UsersTogglePrimaryEmailVisibilityRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListEmailsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersAddEmailsEndpoint = { + /** + * 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. + */ + emails: string[]; +}; +type UsersAddEmailsRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersDeleteEmailsEndpoint = { + /** + * Deletes one or more email addresses from 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. + */ + emails: string[]; +}; +type UsersDeleteEmailsRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListFollowersForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListFollowersForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListFollowingForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListFollowingForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersCheckFollowingEndpoint = { + /** + * username parameter + */ + username: string; +}; +type UsersCheckFollowingRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersFollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +type UsersFollowRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersUnfollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +type UsersUnfollowRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListGpgKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListGpgKeysRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersCreateGpgKeyEndpoint = { + /** + * Your GPG key, generated in ASCII-armored format. See "[Generating a new GPG key](https://help.github.com/articles/generating-a-new-gpg-key/)" for help creating a GPG key. + */ + armored_public_key?: string; +}; +type UsersCreateGpgKeyRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersGetGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +type UsersGetGpgKeyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersDeleteGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +type UsersDeleteGpgKeyRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListInstallationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListInstallationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListInstallationReposForAuthenticatedUserEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListInstallationReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsAddRepoToInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +}; +type AppsAddRepoToInstallationRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsRemoveRepoFromInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +}; +type AppsRemoveRepoFromInstallationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type IssuesListForAuthenticatedUserEndpoint = { + /** + * Indicates which sorts of issues to return. Can be one of: + * \* `assigned`: Issues assigned to you + * \* `created`: Issues created by you + * \* `mentioned`: Issues mentioning you + * \* `subscribed`: Issues you're subscribed to updates for + * \* `all`: All issues the authenticated user can see, regardless of participation or creation + */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + /** + * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * A list of comma separated label names. Example: `bug,ui,@high` + */ + labels?: string; + /** + * What to sort results by. Can be either `created`, `updated`, `comments`. + */ + sort?: "created" | "updated" | "comments"; + /** + * The direction of the sort. Can be either `asc` or `desc`. + */ + direction?: "asc" | "desc"; + /** + * Only issues updated at or after this time are returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type IssuesListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListPublicKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListPublicKeysRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersCreatePublicKeyEndpoint = { + /** + * A descriptive name for the new key. Use a name that will help you recognize this key in your GitHub account. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". + */ + title?: string; + /** + * The public SSH key to add to your GitHub account. See "[Generating a new SSH key](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" for guidance on how to create a public SSH key. + */ + key?: string; +}; +type UsersCreatePublicKeyRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersGetPublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +type UsersGetPublicKeyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersDeletePublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +type UsersDeletePublicKeyRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListMarketplacePurchasesForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListMarketplacePurchasesForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsListMarketplacePurchasesForAuthenticatedUserStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type AppsListMarketplacePurchasesForAuthenticatedUserStubbedRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListMembershipsEndpoint = { + /** + * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships. + */ + state?: "active" | "pending"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListMembershipsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsGetMembershipForAuthenticatedUserEndpoint = { + /** + * org parameter + */ + org: string; +}; +type OrgsGetMembershipForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +type OrgsUpdateMembershipRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsStartForAuthenticatedUserEndpoint = { + /** + * An array of repositories to include in the migration. + */ + repositories: string[]; + /** + * Locks the `repositories` to prevent changes during the migration when set to `true`. + */ + lock_repositories?: boolean; + /** + * Does not include attachments uploaded to GitHub.com in the migration data when set to `true`. Excluding attachments will reduce the migration archive file size. + */ + exclude_attachments?: boolean; +}; +type MigrationsStartForAuthenticatedUserRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type MigrationsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsGetStatusForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +}; +type MigrationsGetStatusForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsGetArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +}; +type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +}; +type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +}; +type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsCreateForAuthenticatedUserEndpoint = { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +}; +type ProjectsCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListPublicEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListPublicEmailsRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListEndpoint = { + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; + /** + * 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; + /** + * Can be one of `all`, `owner`, `public`, `private`, `member`. Default: `all` + * + * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. + */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposCreateForAuthenticatedUserEndpoint = { + /** + * The name of the repository. + */ + name: string; + /** + * A short description of the repository. + */ + description?: string; + /** + * A URL with more information about the repository. + */ + homepage?: string; + /** + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + */ + private?: boolean; + /** + * Either `true` to enable issues for this repository or `false` to disable them. + */ + has_issues?: boolean; + /** + * 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. + */ + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; + /** + * Either `true` to make this repo available as a template repository or `false` to prevent it. + */ + is_template?: boolean; + /** + * 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; + /** + * Pass `true` to create an initial commit with empty README. + */ + auto_init?: boolean; + /** + * 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; + /** + * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.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; + /** + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + */ + allow_squash_merge?: boolean; + /** + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + */ + allow_merge_commit?: boolean; + /** + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + */ + allow_rebase_merge?: boolean; +}; +type ReposCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListInvitationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListInvitationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposAcceptInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +type ReposAcceptInvitationRequestOptions = { + method: "PATCH"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposDeclineInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +type ReposDeclineInvitationRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListReposStarredByAuthenticatedUserEndpoint = { + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListReposStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityCheckStarringRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityCheckStarringRepoRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityStarRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityStarRepoRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityUnstarRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityUnstarRepoRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListWatchedReposForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityCheckWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityCheckWatchingRepoLegacyRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityWatchRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityWatchRepoLegacyRequestOptions = { + method: "PUT"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityStopWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +type ActivityStopWatchingRepoLegacyRequestOptions = { + method: "DELETE"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type TeamsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type TeamsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListEndpoint = { + /** + * The integer ID of the last User that you've seen. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersGetByUsernameEndpoint = { + /** + * username parameter + */ + username: string; +}; +type UsersGetByUsernameRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListEventsForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListEventsForOrgEndpoint = { + /** + * username parameter + */ + username: string; + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListEventsForOrgRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListPublicEventsForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListFollowersForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListFollowersForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListFollowingForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersCheckFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * target_user parameter + */ + target_user: string; +}; +type UsersCheckFollowingForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type GistsListPublicForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Only gists updated at or after this time are returned. + */ + since?: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type GistsListPublicForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListGpgKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListGpgKeysForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersGetContextForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * 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"; + /** + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + */ + subject_id?: string; +}; +type UsersGetContextForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsGetUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +}; +type AppsGetUserInstallationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type AppsFindUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +}; +type AppsFindUserInstallationRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type UsersListPublicKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type UsersListPublicKeysForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type OrgsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type OrgsListForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ProjectsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + */ + state?: "open" | "closed" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ProjectsListForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListReceivedEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListReceivedEventsForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListReceivedPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListReceivedPublicEventsForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ReposListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + /** + * Can be one of `created`, `updated`, `pushed`, `full_name`. + */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ReposListForUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListReposStarredByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + */ + sort?: "created" | "updated"; + /** + * One of `asc` (ascending) or `desc` (descending). + */ + direction?: "asc" | "desc"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListReposStarredByUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +type ActivityListReposWatchedByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +type ActivityListReposWatchedByUserRequestOptions = { + method: "GET"; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; +}; + +export type AppsCreateInstallationTokenParamsPermissions = {}; +export type GistsCreateParamsFiles = { + content?: string; +}; +export type GistsUpdateParamsFiles = { + content?: string; + filename?: string; +}; +export type OrgsCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +export type OrgsUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +export type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + strict: boolean; + contexts: string[]; +}; +export type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; +}; +export type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +export type ReposUpdateBranchProtectionParamsRestrictions = { + users: string[]; + teams: string[]; + apps?: string[]; +}; +export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +export type ChecksCreateParamsOutput = { + title: string; + summary: string; + text?: string; + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; +}; +export type ChecksCreateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +export type ChecksCreateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +export type ChecksCreateParamsActions = { + label: string; + description: string; + identifier: string; +}; +export type ChecksUpdateParamsOutput = { + title?: string; + summary: string; + text?: string; + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; +}; +export type ChecksUpdateParamsOutputAnnotations = { + path: string; + start_line: number; + end_line: number; + start_column?: number; + end_column?: number; + annotation_level: "notice" | "warning" | "failure"; + message: string; + title?: string; + raw_details?: string; +}; +export type ChecksUpdateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +export type ChecksUpdateParamsActions = { + label: string; + description: string; + identifier: string; +}; +export type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; +}; +export type ReposCreateOrUpdateFileParamsCommitter = { + name: string; + email: string; +}; +export type ReposCreateOrUpdateFileParamsAuthor = { + name: string; + email: string; +}; +export type ReposCreateFileParamsCommitter = { + name: string; + email: string; +}; +export type ReposCreateFileParamsAuthor = { + name: string; + email: string; +}; +export type ReposUpdateFileParamsCommitter = { + name: string; + email: string; +}; +export type ReposUpdateFileParamsAuthor = { + name: string; + email: string; +}; +export type ReposDeleteFileParamsCommitter = { + name?: string; + email?: string; +}; +export type ReposDeleteFileParamsAuthor = { + name?: string; + email?: string; +}; +export type GitCreateCommitParamsAuthor = { + name?: string; + email?: string; + date?: string; +}; +export type GitCreateCommitParamsCommitter = { + name?: string; + email?: string; + date?: string; +}; +export type GitCreateTagParamsTagger = { + name?: string; + email?: string; + date?: string; +}; +export type GitCreateTreeParamsTree = { + path?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + type?: "blob" | "tree" | "commit"; + sha?: string; + content?: string; +}; +export type ReposCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +export type ReposUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +export type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; +}; +export type PullsCreateReviewParamsComments = { + path: string; + position: number; + body: string; +}; +export type TeamsCreateOrUpdateIdPGroupConnectionsParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; diff --git a/node_modules/@octokit/types/src/generated/README.md b/node_modules/@octokit/types/src/generated/README.md new file mode 100644 index 0000000..2bc90d2 --- /dev/null +++ b/node_modules/@octokit/types/src/generated/README.md @@ -0,0 +1,3 @@ +# ⚠️ Do not edit files in this folder + +All files are generated. Manual changes will be overwritten. If you find a problem, please look into how they are generated. When in doubt, please open a new issue. diff --git a/node_modules/@octokit/types/src/index.ts b/node_modules/@octokit/types/src/index.ts new file mode 100644 index 0000000..bfaefce --- /dev/null +++ b/node_modules/@octokit/types/src/index.ts @@ -0,0 +1,36 @@ +import { AuthInterface } from "./AuthInterface"; +import { EndpointDefaults } from "./EndpointDefaults"; +import { EndpointInterface } from "./EndpointInterface"; +import { EndpointOptions } from "./EndpointOptions"; +import { Fetch } from "./Fetch"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestHeaders } from "./RequestHeaders"; +import { RequestInterface } from "./RequestInterface"; +import { RequestMethod } from "./RequestMethod"; +import { RequestOptions } from "./RequestOptions"; +import { RequestParameters } from "./RequestParameters"; +import { RequestRequestOptions } from "./RequestRequestOptions"; +import { ResponseHeaders } from "./ResponseHeaders"; +import { Route } from "./Route"; +import { Signal } from "./Signal"; +import { Url } from "./Url"; +export { VERSION } from "./VERSION"; + +export { + AuthInterface, + EndpointDefaults, + EndpointInterface, + EndpointOptions, + Fetch, + OctokitResponse, + RequestHeaders, + RequestInterface, + RequestMethod, + RequestOptions, + RequestParameters, + RequestRequestOptions, + ResponseHeaders, + Route, + Signal, + Url +}; diff --git a/node_modules/@types/color-name/LICENSE b/node_modules/@types/color-name/LICENSE new file mode 100644 index 0000000..4b1ad51 --- /dev/null +++ b/node_modules/@types/color-name/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. 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/@types/color-name/README.md b/node_modules/@types/color-name/README.md new file mode 100644 index 0000000..5c77cba --- /dev/null +++ b/node_modules/@types/color-name/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/color-name` + +# Summary +This package contains type definitions for color-name ( https://github.com/colorjs/color-name ). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/color-name + +Additional Details + * Last updated: Wed, 13 Feb 2019 16:16:48 GMT + * Dependencies: none + * Global values: none + +# Credits +These definitions were written by Junyoung Clare Jang . diff --git a/node_modules/@types/color-name/index.d.ts b/node_modules/@types/color-name/index.d.ts new file mode 100644 index 0000000..b5bff47 --- /dev/null +++ b/node_modules/@types/color-name/index.d.ts @@ -0,0 +1,161 @@ +// Type definitions for color-name 1.1 +// Project: https://github.com/colorjs/color-name +// Definitions by: Junyoung Clare Jang +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/** + * Tuple of Red, Green, and Blue + * @example + * // Red = 55, Green = 70, Blue = 0 + * const rgb: RGB = [55, 70, 0]; + */ +export type RGB = [number, number, number]; + +export const aliceblue: RGB; +export const antiquewhite: RGB; +export const aqua: RGB; +export const aquamarine: RGB; +export const azure: RGB; +export const beige: RGB; +export const bisque: RGB; +export const black: RGB; +export const blanchedalmond: RGB; +export const blue: RGB; +export const blueviolet: RGB; +export const brown: RGB; +export const burlywood: RGB; +export const cadetblue: RGB; +export const chartreuse: RGB; +export const chocolate: RGB; +export const coral: RGB; +export const cornflowerblue: RGB; +export const cornsilk: RGB; +export const crimson: RGB; +export const cyan: RGB; +export const darkblue: RGB; +export const darkcyan: RGB; +export const darkgoldenrod: RGB; +export const darkgray: RGB; +export const darkgreen: RGB; +export const darkgrey: RGB; +export const darkkhaki: RGB; +export const darkmagenta: RGB; +export const darkolivegreen: RGB; +export const darkorange: RGB; +export const darkorchid: RGB; +export const darkred: RGB; +export const darksalmon: RGB; +export const darkseagreen: RGB; +export const darkslateblue: RGB; +export const darkslategray: RGB; +export const darkslategrey: RGB; +export const darkturquoise: RGB; +export const darkviolet: RGB; +export const deeppink: RGB; +export const deepskyblue: RGB; +export const dimgray: RGB; +export const dimgrey: RGB; +export const dodgerblue: RGB; +export const firebrick: RGB; +export const floralwhite: RGB; +export const forestgreen: RGB; +export const fuchsia: RGB; +export const gainsboro: RGB; +export const ghostwhite: RGB; +export const gold: RGB; +export const goldenrod: RGB; +export const gray: RGB; +export const green: RGB; +export const greenyellow: RGB; +export const grey: RGB; +export const honeydew: RGB; +export const hotpink: RGB; +export const indianred: RGB; +export const indigo: RGB; +export const ivory: RGB; +export const khaki: RGB; +export const lavender: RGB; +export const lavenderblush: RGB; +export const lawngreen: RGB; +export const lemonchiffon: RGB; +export const lightblue: RGB; +export const lightcoral: RGB; +export const lightcyan: RGB; +export const lightgoldenrodyellow: RGB; +export const lightgray: RGB; +export const lightgreen: RGB; +export const lightgrey: RGB; +export const lightpink: RGB; +export const lightsalmon: RGB; +export const lightseagreen: RGB; +export const lightskyblue: RGB; +export const lightslategray: RGB; +export const lightslategrey: RGB; +export const lightsteelblue: RGB; +export const lightyellow: RGB; +export const lime: RGB; +export const limegreen: RGB; +export const linen: RGB; +export const magenta: RGB; +export const maroon: RGB; +export const mediumaquamarine: RGB; +export const mediumblue: RGB; +export const mediumorchid: RGB; +export const mediumpurple: RGB; +export const mediumseagreen: RGB; +export const mediumslateblue: RGB; +export const mediumspringgreen: RGB; +export const mediumturquoise: RGB; +export const mediumvioletred: RGB; +export const midnightblue: RGB; +export const mintcream: RGB; +export const mistyrose: RGB; +export const moccasin: RGB; +export const navajowhite: RGB; +export const navy: RGB; +export const oldlace: RGB; +export const olive: RGB; +export const olivedrab: RGB; +export const orange: RGB; +export const orangered: RGB; +export const orchid: RGB; +export const palegoldenrod: RGB; +export const palegreen: RGB; +export const paleturquoise: RGB; +export const palevioletred: RGB; +export const papayawhip: RGB; +export const peachpuff: RGB; +export const peru: RGB; +export const pink: RGB; +export const plum: RGB; +export const powderblue: RGB; +export const purple: RGB; +export const rebeccapurple: RGB; +export const red: RGB; +export const rosybrown: RGB; +export const royalblue: RGB; +export const saddlebrown: RGB; +export const salmon: RGB; +export const sandybrown: RGB; +export const seagreen: RGB; +export const seashell: RGB; +export const sienna: RGB; +export const silver: RGB; +export const skyblue: RGB; +export const slateblue: RGB; +export const slategray: RGB; +export const slategrey: RGB; +export const snow: RGB; +export const springgreen: RGB; +export const steelblue: RGB; +export const tan: RGB; +export const teal: RGB; +export const thistle: RGB; +export const tomato: RGB; +export const turquoise: RGB; +export const violet: RGB; +export const wheat: RGB; +export const white: RGB; +export const whitesmoke: RGB; +export const yellow: RGB; +export const yellowgreen: RGB; diff --git a/node_modules/@types/color-name/package.json b/node_modules/@types/color-name/package.json new file mode 100644 index 0000000..da77dae --- /dev/null +++ b/node_modules/@types/color-name/package.json @@ -0,0 +1,27 @@ +{ + "name": "@types/color-name", + "version": "1.1.1", + "description": "TypeScript definitions for color-name", + "license": "MIT", + "contributors": [ + { + "name": "Junyoung Clare Jang", + "url": "https://github.com/Ailrun", + "githubUsername": "Ailrun" + } + ], + "main": "", + "types": "index", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "dependencies": {}, + "typesPublisherContentHash": "e22c6881e2dcf766e32142cbb82d9acf9c08258bdf0da8e76c8a448d1be44ac7", + "typeScriptVersion": "2.0" + +,"_resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz" +,"_integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" +,"_from": "@types/color-name@1.1.1" +} \ No newline at end of file diff --git a/node_modules/@types/execa/LICENSE b/node_modules/@types/execa/LICENSE new file mode 100644 index 0000000..2107107 --- /dev/null +++ b/node_modules/@types/execa/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. 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/@types/execa/README.md b/node_modules/@types/execa/README.md new file mode 100644 index 0000000..94ab6b2 --- /dev/null +++ b/node_modules/@types/execa/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/execa` + +# Summary +This package contains type definitions for execa (https://github.com/sindresorhus/execa#readme). + +# Details +Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/execa + +Additional Details + * Last updated: Thu, 15 Mar 2018 23:17:55 GMT + * Dependencies: child_process, stream, node + * Global values: none + +# Credits +These definitions were written by Douglas Duteil , BendingBender , Borek Bernard , Mick Dekkers . diff --git a/node_modules/@types/execa/index.d.ts b/node_modules/@types/execa/index.d.ts new file mode 100644 index 0000000..067d36c --- /dev/null +++ b/node_modules/@types/execa/index.d.ts @@ -0,0 +1,294 @@ +// Type definitions for execa 0.9 +// Project: https://github.com/sindresorhus/execa#readme +// Definitions by: Douglas Duteil +// BendingBender +// Borek Bernard +// Mick Dekkers +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 + +/// + +import { ChildProcess } from 'child_process'; +import { Stream } from 'stream'; + +/** + * A better `child_process` + */ +declare namespace execa { + interface ExecaStatic { + /** + * Execute a file. + * + * Think of this as a mix of `child_process.execFile` and `child_process.spawn`. + * @returns a `child_process` instance which is enhanced to also be a `Promise` for a result `Object` with `stdout` and `stderr` properties. + */ + ( + file: string, + args?: ReadonlyArray, + options?: Options + ): ExecaChildProcess; + (file: string, options?: Options): ExecaChildProcess; + + /** + * Execute a file. + * + * Think of this as a mix of `child_process.execFile` and `child_process.spawn`. + * @returns a `child_process` instance which is enhanced to also be a `Promise` for `stdout`. + */ + stdout( + file: string, + args?: ReadonlyArray, + options?: Options + ): Promise; + stdout(file: string, options?: Options): Promise; + + /** + * Execute a file. + * + * Think of this as a mix of `child_process.execFile` and `child_process.spawn`. + * @returns a `child_process` instance which is enhanced to also be a `Promise` for `stderr`. + */ + stderr( + file: string, + args?: ReadonlyArray, + options?: Options + ): Promise; + stderr(file: string, options?: Options): Promise; + + /** + * Execute a command through the system shell. + * + * Prefer `execa()` whenever possible, as it's both faster and safer. + * @returns a `child_process` instance which is enhanced to also be a `Promise` for a result `Object` with `stdout` and `stderr` properties. + */ + shell(command: string, options?: Options): ExecaChildProcess; + + /** + * Execute a file synchronously. + * + * Think of this as a mix of `child_process.execFile` and `child_process.spawn`. + * @returns the same result object as `child_process.spawnSync`. + * @throws an `Error` if the command fails. + */ + sync( + file: string, + args?: ReadonlyArray, + options?: SyncOptions + ): ExecaReturns; + sync(file: string, options?: SyncOptions): ExecaReturns; + + /** + * Execute a command synchronously through the system shell. + * + * @returns the same result object as `child_process.spawnSync`. + * @throws an `Error` if the command fails. + */ + shellSync(command: string, options?: Options): ExecaReturns; + } + + type StdIOOption = + | 'pipe' + | 'ipc' + | 'ignore' + | 'inherit' + | Stream + | number + | null + | undefined; + + interface CommonOptions { + /** + * Current working directory of the child process. + * @default `process.cwd()` + */ + cwd?: string; + /** + * Environment key-value pairs. + * Extends automatically from `process.env`. + * Set `extendEnv` to `false` if you don't want this. + * @default `process.env` + */ + env?: NodeJS.ProcessEnv; + /** + * Set to `false` if you don't want to extend the environment variables when providing the `env` property. + * @default `true` + */ + extendEnv?: boolean; + /** + * Explicitly set the value of `argv[0]` sent to the child process. + * This will be set to `command` or `file` if not specified. + */ + argv0?: string; + /** + * The `stdio` option is used to configure the pipes that are established between the parent and child process. + * By default, the child's stdin, stdout, and stderr are redirected to corresponding `subprocess.stdin`, `subprocess.stdout`, and `subprocess.stderr` streams on the `ChildProcess` object. + * @default `'pipe'` + * + * @see https://nodejs.org/api/child_process.html#child_process_options_stdio + */ + stdio?: 'pipe' | 'ignore' | 'inherit' | ReadonlyArray; + /** + * Prepare child to run independently of its parent process. + * Specific behavior depends on the platform. + * @see https://nodejs.org/api/child_process.html#child_process_options_detached + */ + detached?: boolean; + /** + * Sets the user identity of the process. + */ + uid?: number; + /** + * Sets the group identity of the process. + */ + gid?: number; + /** + * If `true`, runs `command` inside of a shell. + * Uses `/bin/sh` on UNIX and `cmd.exe` on Windows. + * A different shell can be specified as a string. + * The shell should understand the `-c` switch on UNIX or `/d /s /c` on Windows. + * @default `false` + */ + shell?: boolean | string; + /** + * If `true`, no quoting or escaping of arguments is done on Windows. + * Ignored on other platforms. + * This is set to `true` automatically when `shell` is specified. + * @default `false` + */ + windowsVerbatimArguments?: boolean; + /** + * Strip EOF (last newline) from the output. + * @default `true` + * @see https://github.com/sindresorhus/strip-eof + */ + stripEof?: boolean; + /** + * Prefer locally installed binaries when looking for a binary to execute. + * If you `$ npm install foo`, you can then `execa('foo')`. + * @default `true` + */ + preferLocal?: boolean; + /** + * Preferred path to find locally installed binaries in (use with `preferLocal`). + * @default `process.cwd()` + */ + localDir?: string; + /** + * Setting this to `false` resolves the promise with the error instead of rejecting it. + * @default `true` + */ + reject?: boolean; + /** + * Keep track of the spawned process and `kill` it when the parent process exits. + * @default `true` + */ + cleanup?: boolean; + /** + * Specify the character encoding used to decode the `stdout` and `stderr` output. + * @default `utf8` + */ + encoding?: string; + /** + * If `timeout` is greater than `0`, the parent will send the signal identified by the `killSignal` property (the default is `SIGTERM`) if the child runs longer than `timeout` milliseconds. + * @default `0` + */ + timeout?: number; + /** + * Largest amount of data in bytes allowed on `stdout` or `stderr`. + * @default `10000000` (10MB) + */ + maxBuffer?: number; + /** + * Signal value to be used when the spawned process will be killed. + * @default `SIGTERM` + */ + killSignal?: string | number; + /** + * Used to configure the stdin pipe that is established between the parent and child process. + * @default `'pipe'` + * @see https://nodejs.org/api/child_process.html#child_process_options_stdio + */ + stdin?: StdIOOption; + /** + * Used to configure the stdout pipe that is established between the parent and child process. + * @default `'pipe'` + * @see https://nodejs.org/api/child_process.html#child_process_options_stdio + */ + stdout?: StdIOOption; + /** + * Used to configure the stderr pipe that is established between the parent and child process. + * @default `'pipe'` + * @see https://nodejs.org/api/child_process.html#child_process_options_stdio + */ + stderr?: StdIOOption; + } + + interface Options extends CommonOptions { + /** + * Write some input to the `stdin` of your binary. + */ + input?: string | Buffer | Stream; + } + + interface SyncOptions extends CommonOptions { + /** + * Write some input to the `stdin` of your binary. + * Streams are not allowed when using the synchronous methods. + */ + input?: string | Buffer; + } + + interface ExecaReturns { + /** + * The command that was run. + */ + cmd: string; + /** + * The exit code of the process that was run. + */ + code: number; + /** + * Whether the process failed to run. + */ + failed: boolean; + /** + * Whether the process was killed. + */ + killed: boolean; + /** + * The signal that was used to terminate the process. + */ + signal: string | null; + /** + * The output of the process on stderr. + */ + stderr: string; + /** + * The output of the process on stdout. + */ + stdout: string; + /** + * Whether the process timed out. + */ + timedOut: boolean; + } + + type ExecaError = Error & ExecaReturns; + + interface ExecaChildPromise { + catch( + onrejected?: + | ((reason: ExecaError) => TResult | PromiseLike) + | null + ): Promise; + } + + type ExecaChildProcess = ChildProcess & + ExecaChildPromise & + Promise; +} + +declare var execa: execa.ExecaStatic; + +export = execa; diff --git a/node_modules/@types/execa/package.json b/node_modules/@types/execa/package.json new file mode 100644 index 0000000..e9b4005 --- /dev/null +++ b/node_modules/@types/execa/package.json @@ -0,0 +1,43 @@ +{ + "name": "@types/execa", + "version": "0.9.0", + "description": "TypeScript definitions for execa", + "license": "MIT", + "contributors": [ + { + "name": "Douglas Duteil", + "url": "https://github.com/douglasduteil", + "githubUsername": "douglasduteil" + }, + { + "name": "BendingBender", + "url": "https://github.com/BendingBender", + "githubUsername": "BendingBender" + }, + { + "name": "Borek Bernard", + "url": "https://github.com/borekb", + "githubUsername": "borekb" + }, + { + "name": "Mick Dekkers", + "url": "https://github.com/mickdekkers", + "githubUsername": "mickdekkers" + } + ], + "main": "", + "repository": { + "type": "git", + "url": "https://www.github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "dependencies": { + "@types/node": "*" + }, + "typesPublisherContentHash": "82ba4c597d403c0dd3f223e53a3b1947df7b949c5f1f3db0dee59b3b89d7eb0b", + "typeScriptVersion": "2.3" + +,"_resolved": "https://registry.npmjs.org/@types/execa/-/execa-0.9.0.tgz" +,"_integrity": "sha512-mgfd93RhzjYBUHHV532turHC2j4l/qxsF/PbfDmprHDEUHmNZGlDn1CEsulGK3AfsPdhkWzZQT/S/k0UGhLGsA==" +,"_from": "@types/execa@0.9.0" +} \ No newline at end of file diff --git a/node_modules/@types/flat-cache/LICENSE b/node_modules/@types/flat-cache/LICENSE new file mode 100644 index 0000000..4b1ad51 --- /dev/null +++ b/node_modules/@types/flat-cache/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. 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/@types/flat-cache/README.md b/node_modules/@types/flat-cache/README.md new file mode 100644 index 0000000..243a2e0 --- /dev/null +++ b/node_modules/@types/flat-cache/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/flat-cache` + +# Summary +This package contains type definitions for flat-cache ( https://github.com/royriojas/flat-cache#readme ). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/flat-cache + +Additional Details + * Last updated: Wed, 15 May 2019 16:10:27 GMT + * Dependencies: none + * Global values: none + +# Credits +These definitions were written by Kevin Pollet . diff --git a/node_modules/@types/flat-cache/index.d.ts b/node_modules/@types/flat-cache/index.d.ts new file mode 100644 index 0000000..de39a71 --- /dev/null +++ b/node_modules/@types/flat-cache/index.d.ts @@ -0,0 +1,27 @@ +// Type definitions for flat-cache 2.0 +// Project: https://github.com/royriojas/flat-cache#readme +// Definitions by: Kevin Pollet +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export interface Cache { + load(cacheId: string, cacheDir?: string): void; + loadFile(pathToFile: string): void; + all(): { [key: string]: any }; + keys(): string[]; + setKey(key: string, value: any): void; + removeKey(key: string): void; + getKey(key: string): any; + save(noPrune?: boolean): void; + removeCacheFile(): boolean; + destroy(): void; +} + +export function load(cacheId: string, cacheDir?: string): Cache; + +export function create(cacheId: string, cacheDir?: string): Cache; + +export function createFromFile(filePath: string): Cache; + +export function clearCacheById(cacheId: string, cacheDir?: string): boolean; + +export function clearAll(cacheDir?: string): boolean; diff --git a/node_modules/@types/flat-cache/package.json b/node_modules/@types/flat-cache/package.json new file mode 100644 index 0000000..9a69a32 --- /dev/null +++ b/node_modules/@types/flat-cache/package.json @@ -0,0 +1,28 @@ +{ + "name": "@types/flat-cache", + "version": "2.0.0", + "description": "TypeScript definitions for flat-cache", + "license": "MIT", + "contributors": [ + { + "name": "Kevin Pollet", + "url": "https://github.com/kevinpollet", + "githubUsername": "kevinpollet" + } + ], + "main": "", + "types": "index", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/flat-cache" + }, + "scripts": {}, + "dependencies": {}, + "typesPublisherContentHash": "d7ae5b54341ede39fa8651521aa27d4b49e918debef24b1047d8cc4dae60a2a0", + "typeScriptVersion": "2.0" + +,"_resolved": "https://registry.npmjs.org/@types/flat-cache/-/flat-cache-2.0.0.tgz" +,"_integrity": "sha512-fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww==" +,"_from": "@types/flat-cache@2.0.0" +} \ No newline at end of file diff --git a/node_modules/@types/minimist/README.md b/node_modules/@types/minimist/README.md new file mode 100644 index 0000000..f76b552 --- /dev/null +++ b/node_modules/@types/minimist/README.md @@ -0,0 +1,17 @@ +# Installation +> `npm install --save @types/minimist` + +# Summary +This package contains type definitions for minimist (https://github.com/substack/minimist). + +# Details +Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/minimist + +Additional Details + * Last updated: Thu, 29 Dec 2016 23:09:09 GMT + * Library Dependencies: none + * Module Dependencies: none + * Global values: none + +# Credits +These definitions were written by Bart van der Schoor , Necroskillz , kamranayub . diff --git a/node_modules/@types/minimist/index.d.ts b/node_modules/@types/minimist/index.d.ts new file mode 100644 index 0000000..0e3b222 --- /dev/null +++ b/node_modules/@types/minimist/index.d.ts @@ -0,0 +1,90 @@ +// Type definitions for minimist 1.2.0 +// Project: https://github.com/substack/minimist +// Definitions by: Bart van der Schoor , Necroskillz , kamranayub +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/** + * Return an argument object populated with the array arguments from args + * + * @param args An optional argument array (typically `process.argv.slice(2)`) + * @param opts An optional options object to customize the parsing + */ +declare function minimist(args?: string[], opts?: minimist.Opts): minimist.ParsedArgs; + +/** + * Return an argument object populated with the array arguments from args. Strongly-typed + * to be the intersect of type T with minimist.ParsedArgs. + * + * @type T The type that will be intersected with minimist.ParsedArgs to represent the argument object + * @param args An optional argument array (typically `process.argv.slice(2)`) + * @param opts An optional options object to customize the parsing + */ +declare function minimist(args?: string[], opts?: minimist.Opts): T & minimist.ParsedArgs; + +/** + * Return an argument object populated with the array arguments from args. Strongly-typed + * to be the the type T which should extend minimist.ParsedArgs + * + * @type T The type that extends minimist.ParsedArgs and represents the argument object + * @param args An optional argument array (typically `process.argv.slice(2)`) + * @param opts An optional options object to customize the parsing + */ +declare function minimist(args?: string[], opts?: minimist.Opts): T; + +declare namespace minimist { + export interface Opts { + /** + * A string or array of strings argument names to always treat as strings + */ + string?: string | string[]; + + /** + * A boolean, string or array of strings to always treat as booleans. If true will treat + * all double hyphenated arguments without equals signs as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`) + */ + boolean?: boolean | string | string[]; + + /** + * An object mapping string names to strings or arrays of string argument names to use as aliases + */ + alias?: { [key: string]: string | string[] }; + + /** + * An object mapping string argument names to default values + */ + default?: { [key: string]: any }; + + /** + * When true, populate argv._ with everything after the first non-option + */ + stopEarly?: boolean; + + /** + * A function which is invoked with a command line parameter not defined in the opts + * configuration object. If the function returns false, the unknown option is not added to argv + */ + unknown?: (arg: string) => boolean; + + /** + * When true, populate argv._ with everything before the -- and argv['--'] with everything after the --. + * Note that with -- set, parsing for arguments still stops after the `--`. + */ + '--'?: boolean; + } + + export interface ParsedArgs { + [arg: string]: any; + + /** + * If opts['--'] is true, populated with everything after the -- + */ + '--'?: string[]; + + /** + * Contains all the arguments that didn't have an option associated with them + */ + _: string[]; + } +} + +export = minimist; diff --git a/node_modules/@types/minimist/package.json b/node_modules/@types/minimist/package.json new file mode 100644 index 0000000..9fbb085 --- /dev/null +++ b/node_modules/@types/minimist/package.json @@ -0,0 +1,21 @@ +{ + "name": "@types/minimist", + "version": "1.2.0", + "description": "TypeScript definitions for minimist", + "license": "MIT", + "author": "Bart van der Schoor , Necroskillz , kamranayub ", + "main": "", + "repository": { + "type": "git", + "url": "https://www.github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "dependencies": {}, + "peerDependencies": {}, + "typesPublisherContentHash": "46fbb5db5555175c72b64f17adce05fa9f0b38683361f762134fc47aea2ac195", + "typeScriptVersion": "2.0" + +,"_resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz" +,"_integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=" +,"_from": "@types/minimist@1.2.0" +} \ No newline at end of file diff --git a/node_modules/@types/minimist/types-metadata.json b/node_modules/@types/minimist/types-metadata.json new file mode 100644 index 0000000..0483e67 --- /dev/null +++ b/node_modules/@types/minimist/types-metadata.json @@ -0,0 +1,22 @@ +{ + "authors": "Bart van der Schoor , Necroskillz , kamranayub ", + "libraryDependencies": [], + "moduleDependencies": [], + "libraryMajorVersion": 1, + "libraryMinorVersion": 2, + "typeScriptVersion": "2.0", + "libraryName": "minimist", + "typingsPackageName": "minimist", + "projectName": "https://github.com/substack/minimist", + "sourceRepoURL": "https://www.github.com/DefinitelyTyped/DefinitelyTyped", + "sourceBranch": "master", + "globals": [], + "declaredModules": [ + "minimist" + ], + "files": [ + "index.d.ts" + ], + "hasPackageJson": false, + "contentHash": "46fbb5db5555175c72b64f17adce05fa9f0b38683361f762134fc47aea2ac195" +} \ No newline at end of file diff --git a/node_modules/@types/node/LICENSE b/node_modules/@types/node/LICENSE new file mode 100644 index 0000000..4b1ad51 --- /dev/null +++ b/node_modules/@types/node/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. 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/@types/node/README.md b/node_modules/@types/node/README.md new file mode 100644 index 0000000..eded083 --- /dev/null +++ b/node_modules/@types/node/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/node` + +# Summary +This package contains type definitions for Node.js (http://nodejs.org/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node + +Additional Details + * Last updated: Thu, 24 Oct 2019 17:31:23 GMT + * Dependencies: none + * Global values: Buffer, NodeJS, Symbol, __dirname, __filename, clearImmediate, clearInterval, clearTimeout, console, exports, global, module, process, queueMicrotask, require, setImmediate, setInterval, setTimeout + +# Credits +These definitions were written by Microsoft TypeScript , DefinitelyTyped , Alberto Schiabel , Alexander T. , Alvis HT Tang , Andrew Makarov , Benjamin Toueg , Bruno Scheufler , Chigozirim C. , Christian Vaagland Tellnes , David Junger , Deividas Bakanas , Eugene Y. Q. Shen , Flarna , Hannes Magnusson , Hoàng Văn Khải , Huw , Kelvin Jin , Klaus Meinhardt , Lishude , Mariusz Wiktorczyk , Mohsen Azimi , Nicolas Even , Nicolas Voigt , Parambir Singh , Sebastian Silbermann , Simon Schick , Thomas den Hollander , Wilco Bakker , wwwy3y3 , Zane Hannan AU , Samuel Ainsworth , Kyle Uehlein , Jordi Oliveras Rovira , Thanik Bhongbhibhat , Marcin Kopacz , Trivikram Kamat , and Minh Son Nguyen . diff --git a/node_modules/@types/node/assert.d.ts b/node_modules/@types/node/assert.d.ts new file mode 100644 index 0000000..1244813 --- /dev/null +++ b/node_modules/@types/node/assert.d.ts @@ -0,0 +1,48 @@ +declare module "assert" { + function internal(value: any, message?: string | Error): void; + namespace internal { + class AssertionError implements Error { + name: string; + message: string; + actual: any; + expected: any; + operator: string; + generatedMessage: boolean; + code: 'ERR_ASSERTION'; + + constructor(options?: { + message?: string; actual?: any; expected?: any; + operator?: string; stackStartFn?: Function + }); + } + + function fail(message?: string | Error): never; + /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ + function fail(actual: any, expected: any, message?: string | Error, operator?: string, stackStartFn?: Function): never; + function ok(value: any, message?: string | Error): void; + function equal(actual: any, expected: any, message?: string | Error): void; + function notEqual(actual: any, expected: any, message?: string | Error): void; + function deepEqual(actual: any, expected: any, message?: string | Error): void; + function notDeepEqual(actual: any, expected: any, message?: string | Error): void; + function strictEqual(actual: any, expected: any, message?: string | Error): void; + function notStrictEqual(actual: any, expected: any, message?: string | Error): void; + function deepStrictEqual(actual: any, expected: any, message?: string | Error): void; + function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; + + function throws(block: () => any, message?: string | Error): void; + function throws(block: () => any, error: RegExp | Function | Object | Error, message?: string | Error): void; + function doesNotThrow(block: () => any, message?: string | Error): void; + function doesNotThrow(block: () => any, error: RegExp | Function, message?: string | Error): void; + + function ifError(value: any): void; + + function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; + function rejects(block: (() => Promise) | Promise, error: RegExp | Function | Object | Error, message?: string | Error): Promise; + function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; + function doesNotReject(block: (() => Promise) | Promise, error: RegExp | Function, message?: string | Error): Promise; + + const strict: typeof internal; + } + + export = internal; +} diff --git a/node_modules/@types/node/async_hooks.d.ts b/node_modules/@types/node/async_hooks.d.ts new file mode 100644 index 0000000..cca992e --- /dev/null +++ b/node_modules/@types/node/async_hooks.d.ts @@ -0,0 +1,132 @@ +/** + * Async Hooks module: https://nodejs.org/api/async_hooks.html + */ +declare module "async_hooks" { + /** + * Returns the asyncId of the current execution context. + */ + function executionAsyncId(): number; + + /** + * Returns the ID of the resource responsible for calling the callback that is currently being executed. + */ + function triggerAsyncId(): number; + + interface HookCallbacks { + /** + * Called when a class is constructed that has the possibility to emit an asynchronous event. + * @param asyncId a unique ID for the async resource + * @param type the type of the async resource + * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created + * @param resource reference to the resource representing the async operation, needs to be released during destroy + */ + init?(asyncId: number, type: string, triggerAsyncId: number, resource: Object): void; + + /** + * When an asynchronous operation is initiated or completes a callback is called to notify the user. + * The before callback is called just before said callback is executed. + * @param asyncId the unique identifier assigned to the resource about to execute the callback. + */ + before?(asyncId: number): void; + + /** + * Called immediately after the callback specified in before is completed. + * @param asyncId the unique identifier assigned to the resource which has executed the callback. + */ + after?(asyncId: number): void; + + /** + * Called when a promise has resolve() called. This may not be in the same execution id + * as the promise itself. + * @param asyncId the unique id for the promise that was resolve()d. + */ + promiseResolve?(asyncId: number): void; + + /** + * Called after the resource corresponding to asyncId is destroyed + * @param asyncId a unique ID for the async resource + */ + destroy?(asyncId: number): void; + } + + interface AsyncHook { + /** + * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop. + */ + enable(): this; + + /** + * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled. + */ + disable(): this; + } + + /** + * Registers functions to be called for different lifetime events of each async operation. + * @param options the callbacks to register + * @return an AsyncHooks instance used for disabling and enabling hooks + */ + function createHook(options: HookCallbacks): AsyncHook; + + interface AsyncResourceOptions { + /** + * The ID of the execution context that created this async event. + * Default: `executionAsyncId()` + */ + triggerAsyncId?: number; + + /** + * Disables automatic `emitDestroy` when the object is garbage collected. + * This usually does not need to be set (even if `emitDestroy` is called + * manually), unless the resource's `asyncId` is retrieved and the + * sensitive API's `emitDestroy` is called with it. + * Default: `false` + */ + requireManualDestroy?: boolean; + } + + /** + * The class AsyncResource was designed to be extended by the embedder's async resources. + * Using this users can easily trigger the lifetime events of their own resources. + */ + class AsyncResource { + /** + * AsyncResource() is meant to be extended. Instantiating a + * new AsyncResource() also triggers init. If triggerAsyncId is omitted then + * async_hook.executionAsyncId() is used. + * @param type The type of async event. + * @param triggerAsyncId The ID of the execution context that created + * this async event (default: `executionAsyncId()`), or an + * AsyncResourceOptions object (since 9.3) + */ + constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions); + + /** + * Call the provided function with the provided arguments in the + * execution context of the async resource. This will establish the + * context, trigger the AsyncHooks before callbacks, call the function, + * trigger the AsyncHooks after callbacks, and then restore the original + * execution context. + * @param fn The function to call in the execution context of this + * async resource. + * @param thisArg The receiver to be used for the function call. + * @param args Optional arguments to pass to the function. + */ + runInAsyncScope(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result; + + /** + * Call AsyncHooks destroy callbacks. + */ + emitDestroy(): void; + + /** + * @return the unique ID assigned to this AsyncResource instance. + */ + asyncId(): number; + + /** + * @return the trigger ID for this AsyncResource instance. + */ + triggerAsyncId(): number; + } +} diff --git a/node_modules/@types/node/base.d.ts b/node_modules/@types/node/base.d.ts new file mode 100644 index 0000000..70983d9 --- /dev/null +++ b/node_modules/@types/node/base.d.ts @@ -0,0 +1,41 @@ +// base definnitions for all NodeJS modules that are not specific to any version of TypeScript +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@types/node/buffer.d.ts b/node_modules/@types/node/buffer.d.ts new file mode 100644 index 0000000..7eb1061 --- /dev/null +++ b/node_modules/@types/node/buffer.d.ts @@ -0,0 +1,22 @@ +declare module "buffer" { + export const INSPECT_MAX_BYTES: number; + export const kMaxLength: number; + export const kStringMaxLength: number; + export const constants: { + MAX_LENGTH: number; + MAX_STRING_LENGTH: number; + }; + const BuffType: typeof Buffer; + + export type TranscodeEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "latin1" | "binary"; + + export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer; + + export const SlowBuffer: { + /** @deprecated since v6.0.0, use Buffer.allocUnsafeSlow() */ + new(size: number): Buffer; + prototype: Buffer; + }; + + export { BuffType as Buffer }; +} diff --git a/node_modules/@types/node/child_process.d.ts b/node_modules/@types/node/child_process.d.ts new file mode 100644 index 0000000..c220e19 --- /dev/null +++ b/node_modules/@types/node/child_process.d.ts @@ -0,0 +1,478 @@ +declare module "child_process" { + import * as events from "events"; + import * as net from "net"; + import { Writable, Readable, Stream, Pipe } from "stream"; + + interface ChildProcess extends events.EventEmitter { + stdin: Writable | null; + stdout: Readable | null; + stderr: Readable | null; + readonly channel?: Pipe | null; + readonly stdio: [ + Writable | null, // stdin + Readable | null, // stdout + Readable | null, // stderr + Readable | Writable | null | undefined, // extra + Readable | Writable | null | undefined // extra + ]; + readonly killed: boolean; + readonly pid: number; + readonly connected: boolean; + kill(signal?: string): void; + send(message: any, callback?: (error: Error | null) => void): boolean; + send(message: any, sendHandle?: net.Socket | net.Server, callback?: (error: Error | null) => void): boolean; + send(message: any, sendHandle?: net.Socket | net.Server, options?: MessageOptions, callback?: (error: Error | null) => void): boolean; + disconnect(): void; + unref(): void; + ref(): void; + + /** + * events.EventEmitter + * 1. close + * 2. disconnect + * 3. error + * 4. exit + * 5. message + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (code: number, signal: string) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + addListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", code: number, signal: string): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "exit", code: number | null, signal: string | null): boolean; + emit(event: "message", message: any, sendHandle: net.Socket | net.Server): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (code: number, signal: string) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + on(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (code: number, signal: string) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + once(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (code: number, signal: string) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + prependListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + prependOnceListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + } + + // return this object when stdio option is undefined or not specified + interface ChildProcessWithoutNullStreams extends ChildProcess { + stdin: Writable; + stdout: Readable; + stderr: Readable; + readonly stdio: [ + Writable, // stdin + Readable, // stdout + Readable, // stderr + Readable | Writable | null | undefined, // extra, no modification + Readable | Writable | null | undefined // extra, no modification + ]; + } + + // return this object when stdio option is a tuple of 3 + interface ChildProcessByStdio< + I extends null | Writable, + O extends null | Readable, + E extends null | Readable, + > extends ChildProcess { + stdin: I; + stdout: O; + stderr: E; + readonly stdio: [ + I, + O, + E, + Readable | Writable | null | undefined, // extra, no modification + Readable | Writable | null | undefined // extra, no modification + ]; + } + + interface MessageOptions { + keepOpen?: boolean; + } + + type StdioOptions = "pipe" | "ignore" | "inherit" | Array<("pipe" | "ipc" | "ignore" | "inherit" | Stream | number | null | undefined)>; + + interface ProcessEnvOptions { + uid?: number; + gid?: number; + cwd?: string; + env?: NodeJS.ProcessEnv; + } + + interface CommonOptions extends ProcessEnvOptions { + /** + * @default true + */ + windowsHide?: boolean; + /** + * @default 0 + */ + timeout?: number; + } + + interface SpawnOptions extends CommonOptions { + argv0?: string; + stdio?: StdioOptions; + detached?: boolean; + shell?: boolean | string; + windowsVerbatimArguments?: boolean; + } + + interface SpawnOptionsWithoutStdio extends SpawnOptions { + stdio?: 'pipe' | Array; + } + + type StdioNull = 'inherit' | 'ignore' | Stream; + type StdioPipe = undefined | null | 'pipe'; + + interface SpawnOptionsWithStdioTuple< + Stdin extends StdioNull | StdioPipe, + Stdout extends StdioNull | StdioPipe, + Stderr extends StdioNull | StdioPipe, + > extends SpawnOptions { + stdio: [Stdin, Stdout, Stderr]; + } + + // overloads of spawn without 'args' + function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; + + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + + function spawn(command: string, options: SpawnOptions): ChildProcess; + + // overloads of spawn with 'args' + function spawn(command: string, args?: ReadonlyArray, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; + + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + + function spawn(command: string, args: ReadonlyArray, options: SpawnOptions): ChildProcess; + + interface ExecOptions extends CommonOptions { + shell?: string; + maxBuffer?: number; + killSignal?: string; + } + + interface ExecOptionsWithStringEncoding extends ExecOptions { + encoding: BufferEncoding; + } + + interface ExecOptionsWithBufferEncoding extends ExecOptions { + encoding: string | null; // specify `null`. + } + + interface ExecException extends Error { + cmd?: string; + killed?: boolean; + code?: number; + signal?: string; + } + + // no `options` definitely means stdout/stderr are `string`. + function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function exec(command: string, options: { encoding: string } & ExecOptions, callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function exec( + command: string, + options: ({ encoding?: string | null } & ExecOptions) | undefined | null, + callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + interface PromiseWithChild extends Promise { + child: ChildProcess; + } + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace exec { + function __promisify__(command: string): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options?: ({ encoding?: string | null } & ExecOptions) | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ExecFileOptions extends CommonOptions { + maxBuffer?: number; + killSignal?: string; + windowsVerbatimArguments?: boolean; + shell?: boolean | string; + } + interface ExecFileOptionsWithStringEncoding extends ExecFileOptions { + encoding: BufferEncoding; + } + interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions { + encoding: 'buffer' | null; + } + interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions { + encoding: string; + } + + function execFile(file: string): ChildProcess; + function execFile(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess; + function execFile(file: string, args?: ReadonlyArray | null): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess; + + // no `options` definitely means stdout/stderr are `string`. + function execFile(file: string, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithBufferEncoding, + callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void, + ): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithStringEncoding, + callback: (error: Error | null, stdout: string, stderr: string) => void, + ): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function execFile( + file: string, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function execFile( + file: string, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace execFile { + function __promisify__(file: string): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__(file: string, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__( + file: string, + args: string[] | undefined | null, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ForkOptions extends ProcessEnvOptions { + execPath?: string; + execArgv?: string[]; + silent?: boolean; + stdio?: StdioOptions; + detached?: boolean; + windowsVerbatimArguments?: boolean; + } + function fork(modulePath: string, args?: ReadonlyArray, options?: ForkOptions): ChildProcess; + + interface SpawnSyncOptions extends CommonOptions { + argv0?: string; // Not specified in the docs + input?: string | NodeJS.ArrayBufferView; + stdio?: StdioOptions; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + shell?: boolean | string; + windowsVerbatimArguments?: boolean; + } + interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions { + encoding: BufferEncoding; + } + interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions { + encoding: string; // specify `null`. + } + interface SpawnSyncReturns { + pid: number; + output: string[]; + stdout: T; + stderr: T; + status: number | null; + signal: string | null; + error?: Error; + } + function spawnSync(command: string): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptions): SpawnSyncReturns; + + interface ExecSyncOptions extends CommonOptions { + input?: string | Uint8Array; + stdio?: StdioOptions; + shell?: string; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + } + interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions { + encoding: BufferEncoding; + } + interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions { + encoding: string; // specify `null`. + } + function execSync(command: string): Buffer; + function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string; + function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer; + function execSync(command: string, options?: ExecSyncOptions): Buffer; + + interface ExecFileSyncOptions extends CommonOptions { + input?: string | NodeJS.ArrayBufferView; + stdio?: StdioOptions; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + shell?: boolean | string; + } + interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions { + encoding: BufferEncoding; + } + interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions { + encoding: string; // specify `null`. + } + function execFileSync(command: string): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptions): Buffer; +} diff --git a/node_modules/@types/node/cluster.d.ts b/node_modules/@types/node/cluster.d.ts new file mode 100644 index 0000000..43340ff --- /dev/null +++ b/node_modules/@types/node/cluster.d.ts @@ -0,0 +1,260 @@ +declare module "cluster" { + import * as child from "child_process"; + import * as events from "events"; + import * as net from "net"; + + // interfaces + interface ClusterSettings { + execArgv?: string[]; // default: process.execArgv + exec?: string; + args?: string[]; + silent?: boolean; + stdio?: any[]; + uid?: number; + gid?: number; + inspectPort?: number | (() => number); + } + + interface Address { + address: string; + port: number; + addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6" + } + + class Worker extends events.EventEmitter { + id: number; + process: child.ChildProcess; + send(message: any, sendHandle?: any, callback?: (error: Error | null) => void): boolean; + kill(signal?: string): void; + destroy(signal?: string): void; + disconnect(): void; + isConnected(): boolean; + isDead(): boolean; + exitedAfterDisconnect: boolean; + + /** + * events.EventEmitter + * 1. disconnect + * 2. error + * 3. exit + * 4. listening + * 5. message + * 6. online + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "exit", listener: (code: number, signal: string) => void): this; + addListener(event: "listening", listener: (address: Address) => void): this; + addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "exit", code: number, signal: string): boolean; + emit(event: "listening", address: Address): boolean; + emit(event: "message", message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "exit", listener: (code: number, signal: string) => void): this; + on(event: "listening", listener: (address: Address) => void): this; + on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "exit", listener: (code: number, signal: string) => void): this; + once(event: "listening", listener: (address: Address) => void): this; + once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependListener(event: "listening", listener: (address: Address) => void): this; + prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "listening", listener: (address: Address) => void): this; + prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "online", listener: () => void): this; + } + + interface Cluster extends events.EventEmitter { + Worker: Worker; + disconnect(callback?: () => void): void; + fork(env?: any): Worker; + isMaster: boolean; + isWorker: boolean; + // TODO: cluster.schedulingPolicy + settings: ClusterSettings; + setupMaster(settings?: ClusterSettings): void; + worker?: Worker; + workers?: { + [index: string]: Worker | undefined + }; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: (worker: Worker) => void): this; + addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + addListener(event: "fork", listener: (worker: Worker) => void): this; + addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: (worker: Worker) => void): this; + addListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect", worker: Worker): boolean; + emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + emit(event: "fork", worker: Worker): boolean; + emit(event: "listening", worker: Worker, address: Address): boolean; + emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online", worker: Worker): boolean; + emit(event: "setup", settings: ClusterSettings): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: (worker: Worker) => void): this; + on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + on(event: "fork", listener: (worker: Worker) => void): this; + on(event: "listening", listener: (worker: Worker, address: Address) => void): this; + on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: (worker: Worker) => void): this; + on(event: "setup", listener: (settings: ClusterSettings) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: (worker: Worker) => void): this; + once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + once(event: "fork", listener: (worker: Worker) => void): this; + once(event: "listening", listener: (worker: Worker, address: Address) => void): this; + once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: (worker: Worker) => void): this; + once(event: "setup", listener: (settings: ClusterSettings) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependListener(event: "fork", listener: (worker: Worker) => void): this; + prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: (worker: Worker) => void): this; + prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependOnceListener(event: "fork", listener: (worker: Worker) => void): this; + prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; + prependOnceListener(event: "online", listener: (worker: Worker) => void): this; + prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + } + + function disconnect(callback?: () => void): void; + function fork(env?: any): Worker; + const isMaster: boolean; + const isWorker: boolean; + // TODO: cluster.schedulingPolicy + const settings: ClusterSettings; + function setupMaster(settings?: ClusterSettings): void; + const worker: Worker; + const workers: { + [index: string]: Worker | undefined + }; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + function addListener(event: string, listener: (...args: any[]) => void): Cluster; + function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function addListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function addListener(event: "online", listener: (worker: Worker) => void): Cluster; + function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function emit(event: string | symbol, ...args: any[]): boolean; + function emit(event: "disconnect", worker: Worker): boolean; + function emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + function emit(event: "fork", worker: Worker): boolean; + function emit(event: "listening", worker: Worker, address: Address): boolean; + function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + function emit(event: "online", worker: Worker): boolean; + function emit(event: "setup", settings: ClusterSettings): boolean; + + function on(event: string, listener: (...args: any[]) => void): Cluster; + function on(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function on(event: "fork", listener: (worker: Worker) => void): Cluster; + function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function on(event: "online", listener: (worker: Worker) => void): Cluster; + function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function once(event: string, listener: (...args: any[]) => void): Cluster; + function once(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function once(event: "fork", listener: (worker: Worker) => void): Cluster; + function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function once(event: "online", listener: (worker: Worker) => void): Cluster; + function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function removeListener(event: string, listener: (...args: any[]) => void): Cluster; + function removeAllListeners(event?: string): Cluster; + function setMaxListeners(n: number): Cluster; + function getMaxListeners(): number; + function listeners(event: string): Function[]; + function listenerCount(type: string): number; + + function prependListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function eventNames(): string[]; +} diff --git a/node_modules/@types/node/console.d.ts b/node_modules/@types/node/console.d.ts new file mode 100644 index 0000000..d30d13f --- /dev/null +++ b/node_modules/@types/node/console.d.ts @@ -0,0 +1,3 @@ +declare module "console" { + export = console; +} diff --git a/node_modules/@types/node/constants.d.ts b/node_modules/@types/node/constants.d.ts new file mode 100644 index 0000000..577860f --- /dev/null +++ b/node_modules/@types/node/constants.d.ts @@ -0,0 +1,278 @@ +declare module "constants" { + const E2BIG: number; + const EACCES: number; + const EADDRINUSE: number; + const EADDRNOTAVAIL: number; + const EAFNOSUPPORT: number; + const EAGAIN: number; + const EALREADY: number; + const EBADF: number; + const EBADMSG: number; + const EBUSY: number; + const ECANCELED: number; + const ECHILD: number; + const ECONNABORTED: number; + const ECONNREFUSED: number; + const ECONNRESET: number; + const EDEADLK: number; + const EDESTADDRREQ: number; + const EDOM: number; + const EEXIST: number; + const EFAULT: number; + const EFBIG: number; + const EHOSTUNREACH: number; + const EIDRM: number; + const EILSEQ: number; + const EINPROGRESS: number; + const EINTR: number; + const EINVAL: number; + const EIO: number; + const EISCONN: number; + const EISDIR: number; + const ELOOP: number; + const EMFILE: number; + const EMLINK: number; + const EMSGSIZE: number; + const ENAMETOOLONG: number; + const ENETDOWN: number; + const ENETRESET: number; + const ENETUNREACH: number; + const ENFILE: number; + const ENOBUFS: number; + const ENODATA: number; + const ENODEV: number; + const ENOENT: number; + const ENOEXEC: number; + const ENOLCK: number; + const ENOLINK: number; + const ENOMEM: number; + const ENOMSG: number; + const ENOPROTOOPT: number; + const ENOSPC: number; + const ENOSR: number; + const ENOSTR: number; + const ENOSYS: number; + const ENOTCONN: number; + const ENOTDIR: number; + const ENOTEMPTY: number; + const ENOTSOCK: number; + const ENOTSUP: number; + const ENOTTY: number; + const ENXIO: number; + const EOPNOTSUPP: number; + const EOVERFLOW: number; + const EPERM: number; + const EPIPE: number; + const EPROTO: number; + const EPROTONOSUPPORT: number; + const EPROTOTYPE: number; + const ERANGE: number; + const EROFS: number; + const ESPIPE: number; + const ESRCH: number; + const ETIME: number; + const ETIMEDOUT: number; + const ETXTBSY: number; + const EWOULDBLOCK: number; + const EXDEV: number; + const WSAEINTR: number; + const WSAEBADF: number; + const WSAEACCES: number; + const WSAEFAULT: number; + const WSAEINVAL: number; + const WSAEMFILE: number; + const WSAEWOULDBLOCK: number; + const WSAEINPROGRESS: number; + const WSAEALREADY: number; + const WSAENOTSOCK: number; + const WSAEDESTADDRREQ: number; + const WSAEMSGSIZE: number; + const WSAEPROTOTYPE: number; + const WSAENOPROTOOPT: number; + const WSAEPROTONOSUPPORT: number; + const WSAESOCKTNOSUPPORT: number; + const WSAEOPNOTSUPP: number; + const WSAEPFNOSUPPORT: number; + const WSAEAFNOSUPPORT: number; + const WSAEADDRINUSE: number; + const WSAEADDRNOTAVAIL: number; + const WSAENETDOWN: number; + const WSAENETUNREACH: number; + const WSAENETRESET: number; + const WSAECONNABORTED: number; + const WSAECONNRESET: number; + const WSAENOBUFS: number; + const WSAEISCONN: number; + const WSAENOTCONN: number; + const WSAESHUTDOWN: number; + const WSAETOOMANYREFS: number; + const WSAETIMEDOUT: number; + const WSAECONNREFUSED: number; + const WSAELOOP: number; + const WSAENAMETOOLONG: number; + const WSAEHOSTDOWN: number; + const WSAEHOSTUNREACH: number; + const WSAENOTEMPTY: number; + const WSAEPROCLIM: number; + const WSAEUSERS: number; + const WSAEDQUOT: number; + const WSAESTALE: number; + const WSAEREMOTE: number; + const WSASYSNOTREADY: number; + const WSAVERNOTSUPPORTED: number; + const WSANOTINITIALISED: number; + const WSAEDISCON: number; + const WSAENOMORE: number; + const WSAECANCELLED: number; + const WSAEINVALIDPROCTABLE: number; + const WSAEINVALIDPROVIDER: number; + const WSAEPROVIDERFAILEDINIT: number; + const WSASYSCALLFAILURE: number; + const WSASERVICE_NOT_FOUND: number; + const WSATYPE_NOT_FOUND: number; + const WSA_E_NO_MORE: number; + const WSA_E_CANCELLED: number; + const WSAEREFUSED: number; + const SIGHUP: number; + const SIGINT: number; + const SIGILL: number; + const SIGABRT: number; + const SIGFPE: number; + const SIGKILL: number; + const SIGSEGV: number; + const SIGTERM: number; + const SIGBREAK: number; + const SIGWINCH: number; + const SSL_OP_ALL: number; + const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; + const SSL_OP_CIPHER_SERVER_PREFERENCE: number; + const SSL_OP_CISCO_ANYCONNECT: number; + const SSL_OP_COOKIE_EXCHANGE: number; + const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; + const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; + const SSL_OP_EPHEMERAL_RSA: number; + const SSL_OP_LEGACY_SERVER_CONNECT: number; + const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; + const SSL_OP_MICROSOFT_SESS_ID_BUG: number; + const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; + const SSL_OP_NETSCAPE_CA_DN_BUG: number; + const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; + const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; + const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; + const SSL_OP_NO_COMPRESSION: number; + const SSL_OP_NO_QUERY_MTU: number; + const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; + const SSL_OP_NO_SSLv2: number; + const SSL_OP_NO_SSLv3: number; + const SSL_OP_NO_TICKET: number; + const SSL_OP_NO_TLSv1: number; + const SSL_OP_NO_TLSv1_1: number; + const SSL_OP_NO_TLSv1_2: number; + const SSL_OP_PKCS1_CHECK_1: number; + const SSL_OP_PKCS1_CHECK_2: number; + const SSL_OP_SINGLE_DH_USE: number; + const SSL_OP_SINGLE_ECDH_USE: number; + const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; + const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; + const SSL_OP_TLS_BLOCK_PADDING_BUG: number; + const SSL_OP_TLS_D5_BUG: number; + const SSL_OP_TLS_ROLLBACK_BUG: number; + const ENGINE_METHOD_DSA: number; + const ENGINE_METHOD_DH: number; + const ENGINE_METHOD_RAND: number; + const ENGINE_METHOD_ECDH: number; + const ENGINE_METHOD_ECDSA: number; + const ENGINE_METHOD_CIPHERS: number; + const ENGINE_METHOD_DIGESTS: number; + const ENGINE_METHOD_STORE: number; + const ENGINE_METHOD_PKEY_METHS: number; + const ENGINE_METHOD_PKEY_ASN1_METHS: number; + const ENGINE_METHOD_ALL: number; + const ENGINE_METHOD_NONE: number; + const DH_CHECK_P_NOT_SAFE_PRIME: number; + const DH_CHECK_P_NOT_PRIME: number; + const DH_UNABLE_TO_CHECK_GENERATOR: number; + const DH_NOT_SUITABLE_GENERATOR: number; + const RSA_PKCS1_PADDING: number; + const RSA_SSLV23_PADDING: number; + const RSA_NO_PADDING: number; + const RSA_PKCS1_OAEP_PADDING: number; + const RSA_X931_PADDING: number; + const RSA_PKCS1_PSS_PADDING: number; + const POINT_CONVERSION_COMPRESSED: number; + const POINT_CONVERSION_UNCOMPRESSED: number; + const POINT_CONVERSION_HYBRID: number; + const O_RDONLY: number; + const O_WRONLY: number; + const O_RDWR: number; + const S_IFMT: number; + const S_IFREG: number; + const S_IFDIR: number; + const S_IFCHR: number; + const S_IFBLK: number; + const S_IFIFO: number; + const S_IFSOCK: number; + const S_IRWXU: number; + const S_IRUSR: number; + const S_IWUSR: number; + const S_IXUSR: number; + const S_IRWXG: number; + const S_IRGRP: number; + const S_IWGRP: number; + const S_IXGRP: number; + const S_IRWXO: number; + const S_IROTH: number; + const S_IWOTH: number; + const S_IXOTH: number; + const S_IFLNK: number; + const O_CREAT: number; + const O_EXCL: number; + const O_NOCTTY: number; + const O_DIRECTORY: number; + const O_NOATIME: number; + const O_NOFOLLOW: number; + const O_SYNC: number; + const O_DSYNC: number; + const O_SYMLINK: number; + const O_DIRECT: number; + const O_NONBLOCK: number; + const O_TRUNC: number; + const O_APPEND: number; + const F_OK: number; + const R_OK: number; + const W_OK: number; + const X_OK: number; + const COPYFILE_EXCL: number; + const COPYFILE_FICLONE: number; + const COPYFILE_FICLONE_FORCE: number; + const UV_UDP_REUSEADDR: number; + const SIGQUIT: number; + const SIGTRAP: number; + const SIGIOT: number; + const SIGBUS: number; + const SIGUSR1: number; + const SIGUSR2: number; + const SIGPIPE: number; + const SIGALRM: number; + const SIGCHLD: number; + const SIGSTKFLT: number; + const SIGCONT: number; + const SIGSTOP: number; + const SIGTSTP: number; + const SIGTTIN: number; + const SIGTTOU: number; + const SIGURG: number; + const SIGXCPU: number; + const SIGXFSZ: number; + const SIGVTALRM: number; + const SIGPROF: number; + const SIGIO: number; + const SIGPOLL: number; + const SIGPWR: number; + const SIGSYS: number; + const SIGUNUSED: number; + const defaultCoreCipherList: string; + const defaultCipherList: string; + const ENGINE_METHOD_RSA: number; + const ALPN_ENABLED: number; +} diff --git a/node_modules/@types/node/crypto.d.ts b/node_modules/@types/node/crypto.d.ts new file mode 100644 index 0000000..2c81a6f --- /dev/null +++ b/node_modules/@types/node/crypto.d.ts @@ -0,0 +1,614 @@ +declare module "crypto" { + import * as stream from "stream"; + + interface Certificate { + exportChallenge(spkac: BinaryLike): Buffer; + exportPublicKey(spkac: BinaryLike): Buffer; + verifySpkac(spkac: NodeJS.ArrayBufferView): boolean; + } + const Certificate: { + new(): Certificate; + (): Certificate; + }; + + namespace constants { // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants + const OPENSSL_VERSION_NUMBER: number; + + /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */ + const SSL_OP_ALL: number; + /** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ + const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; + /** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ + const SSL_OP_CIPHER_SERVER_PREFERENCE: number; + /** Instructs OpenSSL to use Cisco's "speshul" version of DTLS_BAD_VER. */ + const SSL_OP_CISCO_ANYCONNECT: number; + /** Instructs OpenSSL to turn on cookie exchange. */ + const SSL_OP_COOKIE_EXCHANGE: number; + /** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */ + const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; + /** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */ + const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; + /** Instructs OpenSSL to always use the tmp_rsa key when performing RSA operations. */ + const SSL_OP_EPHEMERAL_RSA: number; + /** Allows initial connection to servers that do not support RI. */ + const SSL_OP_LEGACY_SERVER_CONNECT: number; + const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; + const SSL_OP_MICROSOFT_SESS_ID_BUG: number; + /** Instructs OpenSSL to disable the workaround for a man-in-the-middle protocol-version vulnerability in the SSL 2.0 server implementation. */ + const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; + const SSL_OP_NETSCAPE_CA_DN_BUG: number; + const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; + const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; + const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; + /** Instructs OpenSSL to disable support for SSL/TLS compression. */ + const SSL_OP_NO_COMPRESSION: number; + const SSL_OP_NO_QUERY_MTU: number; + /** Instructs OpenSSL to always start a new session when performing renegotiation. */ + const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; + const SSL_OP_NO_SSLv2: number; + const SSL_OP_NO_SSLv3: number; + const SSL_OP_NO_TICKET: number; + const SSL_OP_NO_TLSv1: number; + const SSL_OP_NO_TLSv1_1: number; + const SSL_OP_NO_TLSv1_2: number; + const SSL_OP_PKCS1_CHECK_1: number; + const SSL_OP_PKCS1_CHECK_2: number; + /** Instructs OpenSSL to always create a new key when using temporary/ephemeral DH parameters. */ + const SSL_OP_SINGLE_DH_USE: number; + /** Instructs OpenSSL to always create a new key when using temporary/ephemeral ECDH parameters. */ + const SSL_OP_SINGLE_ECDH_USE: number; + const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; + const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; + const SSL_OP_TLS_BLOCK_PADDING_BUG: number; + const SSL_OP_TLS_D5_BUG: number; + /** Instructs OpenSSL to disable version rollback attack detection. */ + const SSL_OP_TLS_ROLLBACK_BUG: number; + + const ENGINE_METHOD_RSA: number; + const ENGINE_METHOD_DSA: number; + const ENGINE_METHOD_DH: number; + const ENGINE_METHOD_RAND: number; + const ENGINE_METHOD_EC: number; + const ENGINE_METHOD_CIPHERS: number; + const ENGINE_METHOD_DIGESTS: number; + const ENGINE_METHOD_PKEY_METHS: number; + const ENGINE_METHOD_PKEY_ASN1_METHS: number; + const ENGINE_METHOD_ALL: number; + const ENGINE_METHOD_NONE: number; + + const DH_CHECK_P_NOT_SAFE_PRIME: number; + const DH_CHECK_P_NOT_PRIME: number; + const DH_UNABLE_TO_CHECK_GENERATOR: number; + const DH_NOT_SUITABLE_GENERATOR: number; + + const ALPN_ENABLED: number; + + const RSA_PKCS1_PADDING: number; + const RSA_SSLV23_PADDING: number; + const RSA_NO_PADDING: number; + const RSA_PKCS1_OAEP_PADDING: number; + const RSA_X931_PADDING: number; + const RSA_PKCS1_PSS_PADDING: number; + /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */ + const RSA_PSS_SALTLEN_DIGEST: number; + /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */ + const RSA_PSS_SALTLEN_MAX_SIGN: number; + /** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */ + const RSA_PSS_SALTLEN_AUTO: number; + + const POINT_CONVERSION_COMPRESSED: number; + const POINT_CONVERSION_UNCOMPRESSED: number; + const POINT_CONVERSION_HYBRID: number; + + /** Specifies the built-in default cipher list used by Node.js (colon-separated values). */ + const defaultCoreCipherList: string; + /** Specifies the active default cipher list used by the current Node.js process (colon-separated values). */ + const defaultCipherList: string; + } + + interface HashOptions extends stream.TransformOptions { + /** + * For XOF hash functions such as `shake256`, the + * outputLength option can be used to specify the desired output length in bytes. + */ + outputLength?: number; + } + + /** @deprecated since v10.0.0 */ + const fips: boolean; + + function createHash(algorithm: string, options?: HashOptions): Hash; + function createHmac(algorithm: string, key: BinaryLike, options?: stream.TransformOptions): Hmac; + + type Utf8AsciiLatin1Encoding = "utf8" | "ascii" | "latin1"; + type HexBase64Latin1Encoding = "latin1" | "hex" | "base64"; + type Utf8AsciiBinaryEncoding = "utf8" | "ascii" | "binary"; + type HexBase64BinaryEncoding = "binary" | "base64" | "hex"; + type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid"; + + class Hash extends stream.Transform { + private constructor(); + update(data: BinaryLike): Hash; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hash; + digest(): Buffer; + digest(encoding: HexBase64Latin1Encoding): string; + } + class Hmac extends stream.Transform { + private constructor(); + update(data: BinaryLike): Hmac; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hmac; + digest(): Buffer; + digest(encoding: HexBase64Latin1Encoding): string; + } + + export type KeyObjectType = 'secret' | 'public' | 'private'; + + interface KeyExportOptions { + type: 'pkcs1' | 'spki' | 'pkcs8' | 'sec1'; + format: T; + cipher?: string; + passphrase?: string | Buffer; + } + + class KeyObject { + private constructor(); + asymmetricKeyType?: KeyType; + /** + * For asymmetric keys, this property represents the size of the embedded key in + * bytes. This property is `undefined` for symmetric keys. + */ + asymmetricKeySize?: number; + export(options: KeyExportOptions<'pem'>): string | Buffer; + export(options?: KeyExportOptions<'der'>): Buffer; + symmetricSize?: number; + type: KeyObjectType; + } + + type CipherCCMTypes = 'aes-128-ccm' | 'aes-192-ccm' | 'aes-256-ccm'; + type CipherGCMTypes = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm'; + + type BinaryLike = string | NodeJS.ArrayBufferView; + + type CipherKey = BinaryLike | KeyObject; + + interface CipherCCMOptions extends stream.TransformOptions { + authTagLength: number; + } + interface CipherGCMOptions extends stream.TransformOptions { + authTagLength?: number; + } + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): CipherCCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): CipherGCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Cipher; + + function createCipheriv( + algorithm: CipherCCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options: CipherCCMOptions + ): CipherCCM; + function createCipheriv( + algorithm: CipherGCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options?: CipherGCMOptions + ): CipherGCM; + function createCipheriv( + algorithm: string, key: CipherKey, iv: BinaryLike | null, options?: stream.TransformOptions + ): Cipher; + + class Cipher extends stream.Transform { + private constructor(); + update(data: BinaryLike): Buffer; + update(data: string, input_encoding: Utf8AsciiBinaryEncoding): Buffer; + update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: HexBase64BinaryEncoding): string; + update(data: string, input_encoding: Utf8AsciiBinaryEncoding | undefined, output_encoding: HexBase64BinaryEncoding): string; + final(): Buffer; + final(output_encoding: string): string; + setAutoPadding(auto_padding?: boolean): this; + // getAuthTag(): Buffer; + // setAAD(buffer: Buffer): this; // docs only say buffer + } + interface CipherCCM extends Cipher { + setAAD(buffer: Buffer, options: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + interface CipherGCM extends Cipher { + setAAD(buffer: Buffer, options?: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): DecipherCCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): DecipherGCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Decipher; + + function createDecipheriv( + algorithm: CipherCCMTypes, + key: BinaryLike, + iv: BinaryLike | null, + options: CipherCCMOptions, + ): DecipherCCM; + function createDecipheriv( + algorithm: CipherGCMTypes, + key: BinaryLike, + iv: BinaryLike | null, + options?: CipherGCMOptions, + ): DecipherGCM; + function createDecipheriv(algorithm: string, key: BinaryLike, iv: BinaryLike | null, options?: stream.TransformOptions): Decipher; + + class Decipher extends stream.Transform { + private constructor(); + update(data: NodeJS.ArrayBufferView): Buffer; + update(data: string, input_encoding: HexBase64BinaryEncoding): Buffer; + update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: Utf8AsciiBinaryEncoding): string; + update(data: string, input_encoding: HexBase64BinaryEncoding | undefined, output_encoding: Utf8AsciiBinaryEncoding): string; + final(): Buffer; + final(output_encoding: string): string; + setAutoPadding(auto_padding?: boolean): this; + // setAuthTag(tag: NodeJS.ArrayBufferView): this; + // setAAD(buffer: NodeJS.ArrayBufferView): this; + } + interface DecipherCCM extends Decipher { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; + } + interface DecipherGCM extends Decipher { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; + } + + interface PrivateKeyInput { + key: string | Buffer; + format?: KeyFormat; + type?: 'pkcs1' | 'pkcs8' | 'sec1'; + passphrase?: string | Buffer; + } + + interface PublicKeyInput { + key: string | Buffer; + format?: KeyFormat; + type?: 'pkcs1' | 'spki'; + } + + function createPrivateKey(key: PrivateKeyInput | string | Buffer): KeyObject; + function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject): KeyObject; + function createSecretKey(key: Buffer): KeyObject; + + function createSign(algorithm: string, options?: stream.WritableOptions): Signer; + + interface SigningOptions { + /** + * @See crypto.constants.RSA_PKCS1_PADDING + */ + padding?: number; + saltLength?: number; + } + + interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions { + } + + type KeyLike = string | Buffer | KeyObject; + + class Signer extends stream.Writable { + private constructor(); + + update(data: BinaryLike): Signer; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Signer; + sign(private_key: SignPrivateKeyInput | KeyLike): Buffer; + sign(private_key: SignPrivateKeyInput | KeyLike, output_format: HexBase64Latin1Encoding): string; + } + + function createVerify(algorithm: string, options?: stream.WritableOptions): Verify; + class Verify extends stream.Writable { + private constructor(); + + update(data: BinaryLike): Verify; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Verify; + verify(object: Object | KeyLike, signature: NodeJS.ArrayBufferView): boolean; + verify(object: Object | KeyLike, signature: string, signature_format?: HexBase64Latin1Encoding): boolean; + // https://nodejs.org/api/crypto.html#crypto_verifier_verify_object_signature_signature_format + // The signature field accepts a TypedArray type, but it is only available starting ES2017 + } + function createDiffieHellman(prime_length: number, generator?: number | NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: number | NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: string, generator_encoding: HexBase64Latin1Encoding): DiffieHellman; + class DiffieHellman { + private constructor(); + generateKeys(): Buffer; + generateKeys(encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer; + computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string; + getPrime(): Buffer; + getPrime(encoding: HexBase64Latin1Encoding): string; + getGenerator(): Buffer; + getGenerator(encoding: HexBase64Latin1Encoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: HexBase64Latin1Encoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: HexBase64Latin1Encoding): string; + setPublicKey(public_key: NodeJS.ArrayBufferView): void; + setPublicKey(public_key: string, encoding: string): void; + setPrivateKey(private_key: NodeJS.ArrayBufferView): void; + setPrivateKey(private_key: string, encoding: string): void; + verifyError: number; + } + function getDiffieHellman(group_name: string): DiffieHellman; + function pbkdf2( + password: BinaryLike, + salt: BinaryLike, + iterations: number, + keylen: number, + digest: string, + callback: (err: Error | null, derivedKey: Buffer) => any, + ): void; + function pbkdf2Sync(password: BinaryLike, salt: BinaryLike, iterations: number, keylen: number, digest: string): Buffer; + + function randomBytes(size: number): Buffer; + function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + function pseudoRandomBytes(size: number): Buffer; + function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + + function randomFillSync(buffer: T, offset?: number, size?: number): T; + function randomFill(buffer: T, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, size: number, callback: (err: Error | null, buf: T) => void): void; + + interface ScryptOptions { + N?: number; + r?: number; + p?: number; + maxmem?: number; + } + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, + options: ScryptOptions, + callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer; + + interface RsaPublicKey { + key: KeyLike; + padding?: number; + } + interface RsaPrivateKey { + key: KeyLike; + passphrase?: string; + /** + * @default 'sha1' + */ + oaepHash?: string; + oaepLabel?: NodeJS.TypedArray; + padding?: number; + } + function publicEncrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function publicDecrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function privateDecrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function privateEncrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function getCiphers(): string[]; + function getCurves(): string[]; + function getHashes(): string[]; + class ECDH { + private constructor(); + static convertKey( + key: BinaryLike, + curve: string, + inputEncoding?: HexBase64Latin1Encoding, + outputEncoding?: "latin1" | "hex" | "base64", + format?: "uncompressed" | "compressed" | "hybrid", + ): Buffer | string; + generateKeys(): Buffer; + generateKeys(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string; + computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer; + computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: HexBase64Latin1Encoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string; + setPrivateKey(private_key: NodeJS.ArrayBufferView): void; + setPrivateKey(private_key: string, encoding: HexBase64Latin1Encoding): void; + } + function createECDH(curve_name: string): ECDH; + function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean; + /** @deprecated since v10.0.0 */ + const DEFAULT_ENCODING: string; + + export type KeyType = 'rsa' | 'dsa' | 'ec'; + export type KeyFormat = 'pem' | 'der'; + + interface BasePrivateKeyEncodingOptions { + format: T; + cipher?: string; + passphrase?: string; + } + + interface KeyPairKeyObjectResult { + publicKey: KeyObject; + privateKey: KeyObject; + } + + interface ECKeyPairKeyObjectOptions { + /** + * Name of the curve to use. + */ + namedCurve: string; + } + + interface RSAKeyPairKeyObjectOptions { + /** + * Key size in bits + */ + modulusLength: number; + + /** + * @default 0x10001 + */ + publicExponent?: number; + } + + interface DSAKeyPairKeyObjectOptions { + /** + * Key size in bits + */ + modulusLength: number; + + /** + * Size of q in bits + */ + divisorLength: number; + } + + interface RSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * @default 0x10001 + */ + publicExponent?: number; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs1' | 'pkcs8'; + }; + } + + interface DSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * Size of q in bits + */ + divisorLength: number; + + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface ECKeyPairOptions { + /** + * Name of the curve to use. + */ + namedCurve: string; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'sec1' | 'pkcs8'; + }; + } + + interface KeyPairSyncResult { + publicKey: T1; + privateKey: T2; + } + + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + namespace generateKeyPair { + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "rsa", options: RSAKeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "dsa", options: DSAKeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "ec", options: ECKeyPairKeyObjectOptions): Promise; + } + + /** + * Calculates and returns the signature for `data` using the given private key and + * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is + * dependent upon the key type (especially Ed25519 and Ed448). + * + * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been + * passed to [`crypto.createPrivateKey()`][]. + */ + function sign(algorithm: string | null | undefined, data: NodeJS.ArrayBufferView, key: KeyLike | SignPrivateKeyInput): Buffer; + + interface VerifyKeyWithOptions extends KeyObject, SigningOptions { + } + + /** + * Calculates and returns the signature for `data` using the given private key and + * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is + * dependent upon the key type (especially Ed25519 and Ed448). + * + * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been + * passed to [`crypto.createPublicKey()`][]. + */ + function verify(algorithm: string | null | undefined, data: NodeJS.ArrayBufferView, key: KeyLike | VerifyKeyWithOptions, signature: NodeJS.ArrayBufferView): Buffer; +} diff --git a/node_modules/@types/node/dgram.d.ts b/node_modules/@types/node/dgram.d.ts new file mode 100644 index 0000000..c42acdf --- /dev/null +++ b/node_modules/@types/node/dgram.d.ts @@ -0,0 +1,102 @@ +declare module "dgram" { + import { AddressInfo } from "net"; + import * as dns from "dns"; + import * as events from "events"; + + interface RemoteInfo { + address: string; + family: 'IPv4' | 'IPv6'; + port: number; + size: number; + } + + interface BindOptions { + port: number; + address?: string; + exclusive?: boolean; + } + + type SocketType = "udp4" | "udp6"; + + interface SocketOptions { + type: SocketType; + reuseAddr?: boolean; + /** + * @default false + */ + ipv6Only?: boolean; + recvBufferSize?: number; + sendBufferSize?: number; + lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; + } + + function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + + class Socket extends events.EventEmitter { + send(msg: string | Uint8Array | any[], port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + bind(port?: number, address?: string, callback?: () => void): void; + bind(port?: number, callback?: () => void): void; + bind(callback?: () => void): void; + bind(options: BindOptions, callback?: () => void): void; + close(callback?: () => void): void; + address(): AddressInfo | string; + setBroadcast(flag: boolean): void; + setTTL(ttl: number): void; + setMulticastTTL(ttl: number): void; + setMulticastInterface(multicastInterface: string): void; + setMulticastLoopback(flag: boolean): void; + addMembership(multicastAddress: string, multicastInterface?: string): void; + dropMembership(multicastAddress: string, multicastInterface?: string): void; + ref(): this; + unref(): this; + setRecvBufferSize(size: number): void; + setSendBufferSize(size: number): void; + getRecvBufferSize(): number; + getSendBufferSize(): number; + + /** + * events.EventEmitter + * 1. close + * 2. error + * 3. listening + * 4. message + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + } +} diff --git a/node_modules/@types/node/dns.d.ts b/node_modules/@types/node/dns.d.ts new file mode 100644 index 0000000..d2b0505 --- /dev/null +++ b/node_modules/@types/node/dns.d.ts @@ -0,0 +1,366 @@ +declare module "dns" { + // Supported getaddrinfo flags. + const ADDRCONFIG: number; + const V4MAPPED: number; + + interface LookupOptions { + family?: number; + hints?: number; + all?: boolean; + verbatim?: boolean; + } + + interface LookupOneOptions extends LookupOptions { + all?: false; + } + + interface LookupAllOptions extends LookupOptions { + all: true; + } + + interface LookupAddress { + address: string; + family: number; + } + + function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void): void; + function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void): void; + function lookup(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lookup { + function __promisify__(hostname: string, options: LookupAllOptions): Promise; + function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise; + function __promisify__(hostname: string, options: LookupOptions): Promise; + } + + function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void): void; + + namespace lookupService { + function __promisify__(address: string, port: number): Promise<{ hostname: string, service: string }>; + } + + interface ResolveOptions { + ttl: boolean; + } + + interface ResolveWithTtlOptions extends ResolveOptions { + ttl: true; + } + + interface RecordWithTtl { + address: string; + ttl: number; + } + + /** @deprecated Use AnyARecord or AnyAaaaRecord instead. */ + type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord; + + interface AnyARecord extends RecordWithTtl { + type: "A"; + } + + interface AnyAaaaRecord extends RecordWithTtl { + type: "AAAA"; + } + + interface MxRecord { + priority: number; + exchange: string; + } + + interface AnyMxRecord extends MxRecord { + type: "MX"; + } + + interface NaptrRecord { + flags: string; + service: string; + regexp: string; + replacement: string; + order: number; + preference: number; + } + + interface AnyNaptrRecord extends NaptrRecord { + type: "NAPTR"; + } + + interface SoaRecord { + nsname: string; + hostmaster: string; + serial: number; + refresh: number; + retry: number; + expire: number; + minttl: number; + } + + interface AnySoaRecord extends SoaRecord { + type: "SOA"; + } + + interface SrvRecord { + priority: number; + weight: number; + port: number; + name: string; + } + + interface AnySrvRecord extends SrvRecord { + type: "SRV"; + } + + interface AnyTxtRecord { + type: "TXT"; + entries: string[]; + } + + interface AnyNsRecord { + type: "NS"; + value: string; + } + + interface AnyPtrRecord { + type: "PTR"; + value: string; + } + + interface AnyCnameRecord { + type: "CNAME"; + value: string; + } + + type AnyRecord = AnyARecord | + AnyAaaaRecord | + AnyCnameRecord | + AnyMxRecord | + AnyNaptrRecord | + AnyNsRecord | + AnyPtrRecord | + AnySoaRecord | + AnySrvRecord | + AnyTxtRecord; + + function resolve(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "A", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "AAAA", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "ANY", callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; + function resolve(hostname: string, rrtype: "CNAME", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "MX", callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NAPTR", callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NS", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "PTR", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "SOA", callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void): void; + function resolve(hostname: string, rrtype: "SRV", callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; + function resolve(hostname: string, rrtype: "TXT", callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; + function resolve( + hostname: string, + rrtype: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve { + function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise; + function __promisify__(hostname: string, rrtype: "ANY"): Promise; + function __promisify__(hostname: string, rrtype: "MX"): Promise; + function __promisify__(hostname: string, rrtype: "NAPTR"): Promise; + function __promisify__(hostname: string, rrtype: "SOA"): Promise; + function __promisify__(hostname: string, rrtype: "SRV"): Promise; + function __promisify__(hostname: string, rrtype: "TXT"): Promise; + function __promisify__(hostname: string, rrtype: string): Promise; + } + + function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; + function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve4 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; + function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve6 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolveCname { + function __promisify__(hostname: string): Promise; + } + + function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; + namespace resolveMx { + function __promisify__(hostname: string): Promise; + } + + function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; + namespace resolveNaptr { + function __promisify__(hostname: string): Promise; + } + + function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolveNs { + function __promisify__(hostname: string): Promise; + } + + function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolvePtr { + function __promisify__(hostname: string): Promise; + } + + function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void): void; + namespace resolveSoa { + function __promisify__(hostname: string): Promise; + } + + function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; + namespace resolveSrv { + function __promisify__(hostname: string): Promise; + } + + function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; + namespace resolveTxt { + function __promisify__(hostname: string): Promise; + } + + function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; + namespace resolveAny { + function __promisify__(hostname: string): Promise; + } + + function reverse(ip: string, callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void): void; + function setServers(servers: ReadonlyArray): void; + function getServers(): string[]; + + // Error codes + const NODATA: string; + const FORMERR: string; + const SERVFAIL: string; + const NOTFOUND: string; + const NOTIMP: string; + const REFUSED: string; + const BADQUERY: string; + const BADNAME: string; + const BADFAMILY: string; + const BADRESP: string; + const CONNREFUSED: string; + const TIMEOUT: string; + const EOF: string; + const FILE: string; + const NOMEM: string; + const DESTRUCTION: string; + const BADSTR: string; + const BADFLAGS: string; + const NONAME: string; + const BADHINTS: string; + const NOTINITIALIZED: string; + const LOADIPHLPAPI: string; + const ADDRGETNETWORKPARAMS: string; + const CANCELLED: string; + + class Resolver { + getServers: typeof getServers; + setServers: typeof setServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + cancel(): void; + } + + namespace promises { + function getServers(): string[]; + + function lookup(hostname: string, family: number): Promise; + function lookup(hostname: string, options: LookupOneOptions): Promise; + function lookup(hostname: string, options: LookupAllOptions): Promise; + function lookup(hostname: string, options: LookupOptions): Promise; + function lookup(hostname: string): Promise; + + function lookupService(address: string, port: number): Promise<{ hostname: string, service: string }>; + + function resolve(hostname: string): Promise; + function resolve(hostname: string, rrtype: "A"): Promise; + function resolve(hostname: string, rrtype: "AAAA"): Promise; + function resolve(hostname: string, rrtype: "ANY"): Promise; + function resolve(hostname: string, rrtype: "CNAME"): Promise; + function resolve(hostname: string, rrtype: "MX"): Promise; + function resolve(hostname: string, rrtype: "NAPTR"): Promise; + function resolve(hostname: string, rrtype: "NS"): Promise; + function resolve(hostname: string, rrtype: "PTR"): Promise; + function resolve(hostname: string, rrtype: "SOA"): Promise; + function resolve(hostname: string, rrtype: "SRV"): Promise; + function resolve(hostname: string, rrtype: "TXT"): Promise; + function resolve(hostname: string, rrtype: string): Promise; + + function resolve4(hostname: string): Promise; + function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve4(hostname: string, options: ResolveOptions): Promise; + + function resolve6(hostname: string): Promise; + function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve6(hostname: string, options: ResolveOptions): Promise; + + function resolveAny(hostname: string): Promise; + + function resolveCname(hostname: string): Promise; + + function resolveMx(hostname: string): Promise; + + function resolveNaptr(hostname: string): Promise; + + function resolveNs(hostname: string): Promise; + + function resolvePtr(hostname: string): Promise; + + function resolveSoa(hostname: string): Promise; + + function resolveSrv(hostname: string): Promise; + + function resolveTxt(hostname: string): Promise; + + function reverse(ip: string): Promise; + + function setServers(servers: ReadonlyArray): void; + + class Resolver { + getServers: typeof getServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + setServers: typeof setServers; + } + } +} diff --git a/node_modules/@types/node/domain.d.ts b/node_modules/@types/node/domain.d.ts new file mode 100644 index 0000000..45e388c --- /dev/null +++ b/node_modules/@types/node/domain.d.ts @@ -0,0 +1,16 @@ +declare module "domain" { + import * as events from "events"; + + class Domain extends events.EventEmitter implements NodeJS.Domain { + run(fn: (...args: any[]) => T, ...args: any[]): T; + add(emitter: events.EventEmitter | NodeJS.Timer): void; + remove(emitter: events.EventEmitter | NodeJS.Timer): void; + bind(cb: T): T; + intercept(cb: T): T; + members: Array; + enter(): void; + exit(): void; + } + + function create(): Domain; +} diff --git a/node_modules/@types/node/events.d.ts b/node_modules/@types/node/events.d.ts new file mode 100644 index 0000000..03f5b90 --- /dev/null +++ b/node_modules/@types/node/events.d.ts @@ -0,0 +1,39 @@ +declare module "events" { + class internal extends NodeJS.EventEmitter { } + + interface NodeEventTarget { + once(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DOMEventTarget { + addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any; + } + + namespace internal { + function once(emitter: NodeEventTarget, event: string | symbol): Promise; + function once(emitter: DOMEventTarget, event: string): Promise; + class EventEmitter extends internal { + /** @deprecated since v4.0.0 */ + static listenerCount(emitter: EventEmitter, event: string | symbol): number; + static defaultMaxListeners: number; + + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string | symbol): this; + setMaxListeners(n: number): this; + getMaxListeners(): number; + listeners(event: string | symbol): Function[]; + rawListeners(event: string | symbol): Function[]; + emit(event: string | symbol, ...args: any[]): boolean; + eventNames(): Array; + listenerCount(type: string | symbol): number; + } + } + + export = internal; +} diff --git a/node_modules/@types/node/fs.d.ts b/node_modules/@types/node/fs.d.ts new file mode 100644 index 0000000..395e50c --- /dev/null +++ b/node_modules/@types/node/fs.d.ts @@ -0,0 +1,2391 @@ +declare module "fs" { + import * as stream from "stream"; + import * as events from "events"; + import { URL } from "url"; + + /** + * Valid types for path values in "fs". + */ + type PathLike = string | Buffer | URL; + + type NoParamCallback = (err: NodeJS.ErrnoException | null) => void; + + interface StatsBase { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + + dev: number; + ino: number; + mode: number; + nlink: number; + uid: number; + gid: number; + rdev: number; + size: number; + blksize: number; + blocks: number; + atimeMs: number; + mtimeMs: number; + ctimeMs: number; + birthtimeMs: number; + atime: Date; + mtime: Date; + ctime: Date; + birthtime: Date; + } + + interface Stats extends StatsBase { + } + + class Stats { + } + + class Dirent { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + name: string; + } + + interface FSWatcher extends events.EventEmitter { + close(): void; + + /** + * events.EventEmitter + * 1. change + * 2. error + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + on(event: "error", listener: (error: Error) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + once(event: "error", listener: (error: Error) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + } + + class ReadStream extends stream.Readable { + close(): void; + bytesRead: number; + path: string | Buffer; + + /** + * events.EventEmitter + * 1. open + * 2. close + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "close", listener: () => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "close", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "close", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "close", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + } + + class WriteStream extends stream.Writable { + close(): void; + bytesWritten: number; + path: string | Buffer; + + /** + * events.EventEmitter + * 1. open + * 2. close + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "close", listener: () => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "close", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "close", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "close", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + } + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace rename { + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(oldPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function renameSync(oldPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncate(path: PathLike, len: number | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function truncate(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace truncate { + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(path: PathLike, len?: number | null): Promise; + } + + /** + * Synchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncateSync(path: PathLike, len?: number | null): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function ftruncate(fd: number, len: number | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + */ + function ftruncate(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace ftruncate { + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(fd: number, len?: number | null): Promise; + } + + /** + * Synchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function ftruncateSync(fd: number, len?: number | null): void; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace chown { + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function fchown(fd: number, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fchown { + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function __promisify__(fd: number, uid: number, gid: number): Promise; + } + + /** + * Synchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function fchownSync(fd: number, uid: number, gid: number): void; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lchown { + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmod(path: PathLike, mode: string | number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace chmod { + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: string | number): Promise; + } + + /** + * Synchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmodSync(path: PathLike, mode: string | number): void; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmod(fd: number, mode: string | number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fchmod { + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(fd: number, mode: string | number): Promise; + } + + /** + * Synchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmodSync(fd: number, mode: string | number): void; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmod(path: PathLike, mode: string | number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lchmod { + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: string | number): Promise; + } + + /** + * Synchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmodSync(path: PathLike, mode: string | number): void; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace stat { + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function statSync(path: PathLike): Stats; + + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function fstat(fd: number, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fstat { + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function fstatSync(fd: number): Stats; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lstat { + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstatSync(path: PathLike): Stats; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace link { + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function linkSync(existingPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlink(target: PathLike, path: PathLike, type: symlink.Type | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + */ + function symlink(target: PathLike, path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace symlink { + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function __promisify__(target: PathLike, path: PathLike, type?: string | null): Promise; + + type Type = "dir" | "file" | "junction"; + } + + /** + * Synchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink( + path: PathLike, + options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, linkString: string) => void + ): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException | null, linkString: Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, linkString: string | Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function readlink(path: PathLike, callback: (err: NodeJS.ErrnoException | null, linkString: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readlink { + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + } + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath( + path: PathLike, + options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void + ): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function realpath(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace realpath { + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + function native( + path: PathLike, + options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void + ): void; + function native(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; + function native(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; + function native(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; + } + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + + namespace realpathSync { + function native(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + function native(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + function native(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + } + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlink(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace unlink { + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlinkSync(path: PathLike): void; + + interface RmDirOptions { + /** + * If `true`, perform a recursive directory removal. In + * recursive mode, errors are not reported if `path` does not exist, and + * operations are retried on failure. + * @experimental + * @default false + */ + recursive?: boolean; + } + + interface RmDirAsyncOptions extends RmDirOptions { + /** + * If an `EMFILE` error is encountered, Node.js will + * retry the operation with a linear backoff of 1ms longer on each try until the + * timeout duration passes this limit. This option is ignored if the `recursive` + * option is not `true`. + * @default 1000 + */ + emfileWait?: number; + /** + * If an `EBUSY`, `ENOTEMPTY`, or `EPERM` error is + * encountered, Node.js will retry the operation with a linear backoff wait of + * 100ms longer on each try. This option represents the number of retries. This + * option is ignored if the `recursive` option is not `true`. + * @default 3 + */ + maxBusyTries?: number; + } + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdir(path: PathLike, callback: NoParamCallback): void; + function rmdir(path: PathLike, options: RmDirAsyncOptions, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace rmdir { + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, options?: RmDirAsyncOptions): Promise; + } + + /** + * Synchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdirSync(path: PathLike, options?: RmDirOptions): void; + + export interface MakeDirectoryOptions { + /** + * Indicates whether parent folders should be created. + * @default false + */ + recursive?: boolean; + /** + * A file mode. If a string is passed, it is parsed as an octal integer. If not specified + * @default 0o777. + */ + mode?: number; + } + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, options: number | string | MakeDirectoryOptions | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous mkdir(2) - create a directory with a mode of `0o777`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function mkdir(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace mkdir { + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function __promisify__(path: PathLike, options?: number | string | MakeDirectoryOptions | null): Promise; + } + + /** + * Synchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdirSync(path: PathLike, options?: number | string | MakeDirectoryOptions | null): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: "buffer" | { encoding: "buffer" }, callback: (err: NodeJS.ErrnoException | null, folder: Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string | Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + */ + function mkdtemp(prefix: string, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace mkdtemp { + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: { encoding?: string | null } | string | null): Promise; + } + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options?: { encoding?: string | null } | string | null): string | Buffer; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir( + path: PathLike, + options: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, files: string[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer", callback: (err: NodeJS.ErrnoException | null, files: Buffer[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir( + path: PathLike, + options: { encoding?: string | null; withFileTypes?: false } | string | undefined | null, + callback: (err: NodeJS.ErrnoException | null, files: string[] | Buffer[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function readdir(path: PathLike, callback: (err: NodeJS.ErrnoException | null, files: string[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdir(path: PathLike, options: { encoding?: string | null; withFileTypes: true }, callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readdir { + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: "buffer" | { encoding: "buffer"; withFileTypes?: false }): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent + */ + function __promisify__(path: PathLike, options: { encoding?: string | null; withFileTypes: true }): Promise; + } + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): string[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Buffer[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): string[] | Buffer[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdirSync(path: PathLike, options: { encoding?: string | null; withFileTypes: true }): Dirent[]; + + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function close(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace close { + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function closeSync(fd: number): void; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function open(path: PathLike, flags: string | number, mode: string | number | undefined | null, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; + + /** + * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function open(path: PathLike, flags: string | number, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace open { + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function __promisify__(path: PathLike, flags: string | number, mode?: string | number | null): Promise; + } + + /** + * Synchronous open(2) - open and possibly create a file, returning a file descriptor.. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function openSync(path: PathLike, flags: string | number, mode?: string | number | null): number; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace utimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimes(fd: number, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace futimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(fd: number, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimesSync(fd: number, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function fsync(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fsync { + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function fsyncSync(fd: number): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + position: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + */ + function write(fd: number, buffer: TBuffer, callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function write( + fd: number, + string: any, + position: number | undefined | null, + encoding: string | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void, + ): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write(fd: number, string: any, position: number | undefined | null, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + */ + function write(fd: number, string: any, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace write { + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function __promisify__( + fd: number, + buffer?: TBuffer, + offset?: number, + length?: number, + position?: number | null, + ): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function __promisify__(fd: number, string: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + } + + /** + * Synchronously writes `buffer` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function writeSync(fd: number, buffer: NodeJS.ArrayBufferView, offset?: number | null, length?: number | null, position?: number | null): number; + + /** + * Synchronously writes `string` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function writeSync(fd: number, string: any, position?: number | null, encoding?: string | null): number; + + /** + * Asynchronously reads data from the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function read( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: number | null, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace read { + /** + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function __promisify__( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: number | null + ): Promise<{ bytesRead: number, buffer: TBuffer }>; + } + + /** + * Synchronously reads data from the file referenced by the supplied file descriptor, returning the number of bytes read. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function readSync(fd: number, buffer: NodeJS.ArrayBufferView, offset: number, length: number, position: number | null): number; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | number, options: { encoding?: null; flag?: string; } | undefined | null, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | number, options: { encoding: string; flag?: string; } | string, callback: (err: NodeJS.ErrnoException | null, data: string) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile( + path: PathLike | number, + options: { encoding?: string | null; flag?: string; } | string | undefined | null, + callback: (err: NodeJS.ErrnoException | null, data: string | Buffer) => void, + ): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + */ + function readFile(path: PathLike | number, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readFile { + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options: { encoding: string; flag?: string; } | string): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: { encoding?: string | null; flag?: string; } | string | null): Promise; + } + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Buffer; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options: { encoding: string; flag?: string; } | string): string; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options?: { encoding?: string | null; flag?: string; } | string | null): string | Buffer; + + type WriteFileOptions = { encoding?: string | null; mode?: number | string; flag?: string; } | string | null; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFile(path: PathLike | number, data: any, options: WriteFileOptions, callback: NoParamCallback): void; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + function writeFile(path: PathLike | number, data: any, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace writeFile { + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function __promisify__(path: PathLike | number, data: any, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFileSync(path: PathLike | number, data: any, options?: WriteFileOptions): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFile(file: PathLike | number, data: any, options: WriteFileOptions, callback: NoParamCallback): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + function appendFile(file: PathLike | number, data: any, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace appendFile { + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function __promisify__(file: PathLike | number, data: any, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFileSync(file: PathLike | number, data: any, options?: WriteFileOptions): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + */ + function watchFile(filename: PathLike, options: { persistent?: boolean; interval?: number; } | undefined, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function watchFile(filename: PathLike, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Stop watching for changes on `filename`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function unwatchFile(filename: PathLike, listener?: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch( + filename: PathLike, + options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | BufferEncoding | undefined | null, + listener?: (event: string, filename: string) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch(filename: PathLike, options: { encoding: "buffer", persistent?: boolean, recursive?: boolean } | "buffer", listener?: (event: string, filename: Buffer) => void): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch( + filename: PathLike, + options: { encoding?: string | null, persistent?: boolean, recursive?: boolean } | string | null, + listener?: (event: string, filename: string | Buffer) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function watch(filename: PathLike, listener?: (event: string, filename: string) => any): FSWatcher; + + /** + * Asynchronously tests whether or not the given path exists by checking with the file system. + * @deprecated + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function exists(path: PathLike, callback: (exists: boolean) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace exists { + /** + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronously tests whether or not the given path exists by checking with the file system. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function existsSync(path: PathLike): boolean; + + namespace constants { + // File Access Constants + + /** Constant for fs.access(). File is visible to the calling process. */ + const F_OK: number; + + /** Constant for fs.access(). File can be read by the calling process. */ + const R_OK: number; + + /** Constant for fs.access(). File can be written by the calling process. */ + const W_OK: number; + + /** Constant for fs.access(). File can be executed by the calling process. */ + const X_OK: number; + + // File Copy Constants + + /** Constant for fs.copyFile. Flag indicating the destination file should not be overwritten if it already exists. */ + const COPYFILE_EXCL: number; + + /** + * Constant for fs.copyFile. copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then a fallback copy mechanism is used. + */ + const COPYFILE_FICLONE: number; + + /** + * Constant for fs.copyFile. Copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then the operation will fail with an error. + */ + const COPYFILE_FICLONE_FORCE: number; + + // File Open Constants + + /** Constant for fs.open(). Flag indicating to open a file for read-only access. */ + const O_RDONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for write-only access. */ + const O_WRONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for read-write access. */ + const O_RDWR: number; + + /** Constant for fs.open(). Flag indicating to create the file if it does not already exist. */ + const O_CREAT: number; + + /** Constant for fs.open(). Flag indicating that opening a file should fail if the O_CREAT flag is set and the file already exists. */ + const O_EXCL: number; + + /** + * Constant for fs.open(). Flag indicating that if path identifies a terminal device, + * opening the path shall not cause that terminal to become the controlling terminal for the process + * (if the process does not already have one). + */ + const O_NOCTTY: number; + + /** Constant for fs.open(). Flag indicating that if the file exists and is a regular file, and the file is opened successfully for write access, its length shall be truncated to zero. */ + const O_TRUNC: number; + + /** Constant for fs.open(). Flag indicating that data will be appended to the end of the file. */ + const O_APPEND: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is not a directory. */ + const O_DIRECTORY: number; + + /** + * constant for fs.open(). + * Flag indicating reading accesses to the file system will no longer result in + * an update to the atime information associated with the file. + * This flag is available on Linux operating systems only. + */ + const O_NOATIME: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is a symbolic link. */ + const O_NOFOLLOW: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O. */ + const O_SYNC: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O with write operations waiting for data integrity. */ + const O_DSYNC: number; + + /** Constant for fs.open(). Flag indicating to open the symbolic link itself rather than the resource it is pointing to. */ + const O_SYMLINK: number; + + /** Constant for fs.open(). When set, an attempt will be made to minimize caching effects of file I/O. */ + const O_DIRECT: number; + + /** Constant for fs.open(). Flag indicating to open the file in nonblocking mode when possible. */ + const O_NONBLOCK: number; + + // File Type Constants + + /** Constant for fs.Stats mode property for determining a file's type. Bit mask used to extract the file type code. */ + const S_IFMT: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a regular file. */ + const S_IFREG: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a directory. */ + const S_IFDIR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a character-oriented device file. */ + const S_IFCHR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a block-oriented device file. */ + const S_IFBLK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a FIFO/pipe. */ + const S_IFIFO: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a symbolic link. */ + const S_IFLNK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a socket. */ + const S_IFSOCK: number; + + // File Mode Constants + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by owner. */ + const S_IRWXU: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by owner. */ + const S_IRUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by owner. */ + const S_IWUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by owner. */ + const S_IXUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by group. */ + const S_IRWXG: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by group. */ + const S_IRGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by group. */ + const S_IWGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by group. */ + const S_IXGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by others. */ + const S_IRWXO: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by others. */ + const S_IROTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by others. */ + const S_IWOTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by others. */ + const S_IXOTH: number; + + /** + * When set, a memory file mapping is used to access the file. This flag + * is available on Windows operating systems only. On other operating systems, + * this flag is ignored. + */ + const UV_FS_O_FILEMAP: number; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, mode: number | undefined, callback: NoParamCallback): void; + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace access { + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike, mode?: number): Promise; + } + + /** + * Synchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function accessSync(path: PathLike, mode?: number): void; + + /** + * Returns a new `ReadStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function createReadStream(path: PathLike, options?: string | { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; + autoClose?: boolean; + /** + * @default false + */ + emitClose?: boolean; + start?: number; + end?: number; + highWaterMark?: number; + }): ReadStream; + + /** + * Returns a new `WriteStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function createWriteStream(path: PathLike, options?: string | { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; + autoClose?: boolean; + start?: number; + highWaterMark?: number; + }): WriteStream; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function fdatasync(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fdatasync { + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function fdatasyncSync(fd: number): void; + + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + */ + function copyFile(src: PathLike, dest: PathLike, callback: NoParamCallback): void; + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An integer that specifies the behavior of the copy operation. The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + function copyFile(src: PathLike, dest: PathLike, flags: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace copyFile { + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, + * which causes the copy operation to fail if dest already exists. + */ + function __promisify__(src: PathLike, dst: PathLike, flags?: number): Promise; + } + + /** + * Synchronously copies src to dest. By default, dest is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + function copyFileSync(src: PathLike, dest: PathLike, flags?: number): void; + + /** + * Write an array of ArrayBufferViews to the file specified by fd using writev(). + * position is the offset from the beginning of the file where this data should be written. + * It is unsafe to use fs.writev() multiple times on the same file without waiting for the callback. For this scenario, use fs.createWriteStream(). + * On Linux, positional writes don't work when the file is opened in append mode. + * The kernel ignores the position argument and always appends the data to the end of the file. + */ + function writev( + fd: number, + buffers: NodeJS.ArrayBufferView[], + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + function writev( + fd: number, + buffers: NodeJS.ArrayBufferView[], + position: number, + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + + interface WriteVResult { + bytesWritten: number; + buffers: NodeJS.ArrayBufferView[]; + } + + namespace writev { + function __promisify__(fd: number, buffers: NodeJS.ArrayBufferView[], position?: number): Promise; + } + + /** + * See `writev`. + */ + function writevSync(fd: number, buffers: NodeJS.ArrayBufferView[], position?: number): number; + + namespace promises { + interface FileHandle { + /** + * Gets the file descriptor for this file handle. + */ + readonly fd: number; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for appending. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + appendFile(data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + */ + chown(uid: number, gid: number): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + chmod(mode: string | number): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + */ + datasync(): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + */ + sync(): Promise; + + /** + * Asynchronously reads data from the file. + * The `FileHandle` must have been opened for reading. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + read(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: { encoding?: null, flag?: string | number } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options: { encoding: BufferEncoding, flag?: string | number } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: { encoding?: string | null, flag?: string | number } | string | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + */ + stat(): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param len If not specified, defaults to `0`. + */ + truncate(len?: number): Promise; + + /** + * Asynchronously change file timestamps of the file. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + utimes(atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously writes `buffer` to the file. + * The `FileHandle` must have been opened for writing. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + write(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + write(data: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + writeFile(data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * See `fs.writev` promisified version. + */ + writev(buffers: NodeJS.ArrayBufferView[], position?: number): Promise; + + /** + * Asynchronous close(2) - close a `FileHandle`. + */ + close(): Promise; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, mode?: number): Promise; + + /** + * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. The only + * supported flag is `fs.constants.COPYFILE_EXCL`, which causes the copy operation to fail if + * `dest` already exists. + */ + function copyFile(src: PathLike, dest: PathLike, flags?: number): Promise; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not + * supplied, defaults to `0o666`. + */ + function open(path: PathLike, flags: string | number, mode?: string | number): Promise; + + /** + * Asynchronously reads data from the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If + * `null`, data will be read from the current position. + */ + function read( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, + position?: number | null, + ): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function write(handle: FileHandle, string: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function rename(oldPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncate(path: PathLike, len?: number): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param handle A `FileHandle`. + * @param len If not specified, defaults to `0`. + */ + function ftruncate(handle: FileHandle, len?: number): Promise; + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdir(path: PathLike, options?: RmDirAsyncOptions): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param handle A `FileHandle`. + */ + function fdatasync(handle: FileHandle): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param handle A `FileHandle`. + */ + function fsync(handle: FileHandle): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, options?: number | string | MakeDirectoryOptions | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: { encoding?: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdir(path: PathLike, options: { encoding?: string | null; withFileTypes: true }): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlink(target: PathLike, path: PathLike, type?: string | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + * @param handle A `FileHandle`. + */ + function fstat(handle: FileHandle): Promise; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstat(path: PathLike): Promise; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function stat(path: PathLike): Promise; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlink(path: PathLike): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param handle A `FileHandle`. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmod(handle: FileHandle, mode: string | number): Promise; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmod(path: PathLike, mode: string | number): Promise; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmod(path: PathLike, mode: string | number): Promise; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param handle A `FileHandle`. + */ + function fchown(handle: FileHandle, uid: number, gid: number): Promise; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimes(handle: FileHandle, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * It is unsafe to call `fsPromises.writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFile(path: PathLike | FileHandle, data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFile(path: PathLike | FileHandle, data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: { encoding?: null, flag?: string | number } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options: { encoding: BufferEncoding, flag?: string | number } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: { encoding?: string | null, flag?: string | number } | string | null): Promise; + } +} diff --git a/node_modules/@types/node/globals.d.ts b/node_modules/@types/node/globals.d.ts new file mode 100644 index 0000000..8734eeb --- /dev/null +++ b/node_modules/@types/node/globals.d.ts @@ -0,0 +1,1161 @@ +// This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build +interface Console { + Console: NodeJS.ConsoleConstructor; + /** + * A simple assertion test that verifies whether `value` is truthy. + * If it is not, an `AssertionError` is thrown. + * If provided, the error `message` is formatted using `util.format()` and used as the error message. + */ + assert(value: any, message?: string, ...optionalParams: any[]): void; + /** + * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY. + * When `stdout` is not a TTY, this method does nothing. + */ + clear(): void; + /** + * Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`. + */ + count(label?: string): void; + /** + * Resets the internal counter specific to `label`. + */ + countReset(label?: string): void; + /** + * The `console.debug()` function is an alias for {@link console.log()}. + */ + debug(message?: any, ...optionalParams: any[]): void; + /** + * Uses {@link util.inspect()} on `obj` and prints the resulting string to `stdout`. + * This function bypasses any custom `inspect()` function defined on `obj`. + */ + dir(obj: any, options?: NodeJS.InspectOptions): void; + /** + * This method calls {@link console.log()} passing it the arguments received. Please note that this method does not produce any XML formatting + */ + dirxml(...data: any[]): void; + /** + * Prints to `stderr` with newline. + */ + error(message?: any, ...optionalParams: any[]): void; + /** + * Increases indentation of subsequent lines by two spaces. + * If one or more `label`s are provided, those are printed first without the additional indentation. + */ + group(...label: any[]): void; + /** + * The `console.groupCollapsed()` function is an alias for {@link console.group()}. + */ + groupCollapsed(...label: any[]): void; + /** + * Decreases indentation of subsequent lines by two spaces. + */ + groupEnd(): void; + /** + * The {@link console.info()} function is an alias for {@link console.log()}. + */ + info(message?: any, ...optionalParams: any[]): void; + /** + * Prints to `stdout` with newline. + */ + log(message?: any, ...optionalParams: any[]): void; + /** + * This method does not display anything unless used in the inspector. + * Prints to `stdout` the array `array` formatted as a table. + */ + table(tabularData: any, properties?: string[]): void; + /** + * Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`. + */ + time(label?: string): void; + /** + * Stops a timer that was previously started by calling {@link console.time()} and prints the result to `stdout`. + */ + timeEnd(label?: string): void; + /** + * For a timer that was previously started by calling {@link console.time()}, prints the elapsed time and other `data` arguments to `stdout`. + */ + timeLog(label?: string, ...data: any[]): void; + /** + * Prints to `stderr` the string 'Trace :', followed by the {@link util.format()} formatted message and stack trace to the current position in the code. + */ + trace(message?: any, ...optionalParams: any[]): void; + /** + * The {@link console.warn()} function is an alias for {@link console.error()}. + */ + warn(message?: any, ...optionalParams: any[]): void; + + // --- Inspector mode only --- + /** + * This method does not display anything unless used in the inspector. + * The console.markTimeline() method is the deprecated form of console.timeStamp(). + * + * @deprecated Use console.timeStamp() instead. + */ + markTimeline(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Starts a JavaScript CPU profile with an optional label. + */ + profile(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector. + */ + profileEnd(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Adds an event with the label `label` to the Timeline panel of the inspector. + */ + timeStamp(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * The console.timeline() method is the deprecated form of console.time(). + * + * @deprecated Use console.time() instead. + */ + timeline(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * The console.timelineEnd() method is the deprecated form of console.timeEnd(). + * + * @deprecated Use console.timeEnd() instead. + */ + timelineEnd(label?: string): void; +} + +interface Error { + stack?: string; +} + +// Declare "static" methods in Error +interface ErrorConstructor { + /** Create .stack property on a target object */ + captureStackTrace(targetObject: Object, constructorOpt?: Function): void; + + /** + * Optional override for formatting stack traces + * + * @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces + */ + prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any; + + stackTraceLimit: number; +} + +interface SymbolConstructor { + readonly observable: symbol; +} + +// Node.js ESNEXT support +interface String { + /** Removes whitespace from the left end of a string. */ + trimLeft(): string; + /** Removes whitespace from the right end of a string. */ + trimRight(): string; +} + +interface ImportMeta { + url: string; +} + +/*-----------------------------------------------* + * * + * GLOBAL * + * * + ------------------------------------------------*/ +declare var process: NodeJS.Process; +declare var global: NodeJS.Global; +declare var console: Console; + +declare var __filename: string; +declare var __dirname: string; + +declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; +} +declare function clearTimeout(timeoutId: NodeJS.Timeout): void; +declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare function clearInterval(intervalId: NodeJS.Timeout): void; +declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; +declare namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; +} +declare function clearImmediate(immediateId: NodeJS.Immediate): void; + +declare function queueMicrotask(callback: () => void): void; + +// TODO: change to `type NodeRequireFunction = (id: string) => any;` in next mayor version. +interface NodeRequireFunction { + /* tslint:disable-next-line:callable-types */ + (id: string): any; +} + +interface NodeRequire extends NodeRequireFunction { + resolve: RequireResolve; + cache: any; + /** + * @deprecated + */ + extensions: NodeExtensions; + main: NodeModule | undefined; +} + +interface RequireResolve { + (id: string, options?: { paths?: string[]; }): string; + paths(request: string): string[] | null; +} + +interface NodeExtensions { + '.js': (m: NodeModule, filename: string) => any; + '.json': (m: NodeModule, filename: string) => any; + '.node': (m: NodeModule, filename: string) => any; + [ext: string]: (m: NodeModule, filename: string) => any; +} + +declare var require: NodeRequire; + +interface NodeModule { + exports: any; + require: NodeRequireFunction; + id: string; + filename: string; + loaded: boolean; + parent: NodeModule | null; + children: NodeModule[]; + paths: string[]; +} + +declare var module: NodeModule; + +// Same as module.exports +declare var exports: any; + +// Buffer class +type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex"; + +interface Buffer { + constructor: typeof Buffer; +} + +/** + * Raw data is stored in instances of the Buffer class. + * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized. + * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + */ +declare class Buffer extends Uint8Array { + /** + * Allocates a new buffer containing the given {str}. + * + * @param str String to store in buffer. + * @param encoding encoding to use, optional. Default is 'utf8' + * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. + */ + constructor(str: string, encoding?: BufferEncoding); + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`). + */ + constructor(size: number); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + constructor(array: Uint8Array); + /** + * Produces a Buffer backed by the same allocated memory as + * the given {ArrayBuffer}/{SharedArrayBuffer}. + * + * + * @param arrayBuffer The ArrayBuffer with which to share memory. + * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. + */ + constructor(arrayBuffer: ArrayBuffer | SharedArrayBuffer); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + constructor(array: any[]); + /** + * Copies the passed {buffer} data onto a new {Buffer} instance. + * + * @param buffer The buffer to copy. + * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead. + */ + constructor(buffer: Buffer); + /** + * When passed a reference to the .buffer property of a TypedArray instance, + * the newly created Buffer will share the same allocated memory as the TypedArray. + * The optional {byteOffset} and {length} arguments specify a memory range + * within the {arrayBuffer} that will be shared by the Buffer. + * + * @param arrayBuffer The .buffer property of any TypedArray or a new ArrayBuffer() + */ + static from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param data data to create a new Buffer + */ + static from(data: number[]): Buffer; + static from(data: Uint8Array): Buffer; + /** + * Creates a new Buffer containing the given JavaScript string {str}. + * If provided, the {encoding} parameter identifies the character encoding. + * If not provided, {encoding} defaults to 'utf8'. + */ + static from(str: string, encoding?: BufferEncoding): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param values to create a new Buffer + */ + static of(...items: number[]): Buffer; + /** + * Returns true if {obj} is a Buffer + * + * @param obj object to test. + */ + static isBuffer(obj: any): obj is Buffer; + /** + * Returns true if {encoding} is a valid encoding argument. + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * + * @param encoding string to test. + */ + static isEncoding(encoding: string): encoding is BufferEncoding; + /** + * Gives the actual byte length of a string. encoding defaults to 'utf8'. + * This is not the same as String.prototype.length since that returns the number of characters in a string. + * + * @param string string to test. + * @param encoding encoding used to evaluate (defaults to 'utf8') + */ + static byteLength( + string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, + encoding?: BufferEncoding + ): number; + /** + * Returns a buffer which is the result of concatenating all the buffers in the list together. + * + * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. + * If the list has exactly one item, then the first item of the list is returned. + * If the list has more than one item, then a new Buffer is created. + * + * @param list An array of Buffer objects to concatenate + * @param totalLength Total length of the buffers when concatenated. + * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. + */ + static concat(list: Uint8Array[], totalLength?: number): Buffer; + /** + * The same as buf1.compare(buf2). + */ + static compare(buf1: Uint8Array, buf2: Uint8Array): number; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @param fill if specified, buffer will be initialized by calling buf.fill(fill). + * If parameter is omitted, buffer will be filled with zeros. + * @param encoding encoding used for call to buf.fill while initalizing + */ + static alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer; + /** + * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafe(size: number): Buffer; + /** + * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafeSlow(size: number): Buffer; + /** + * This is the number of bytes used to determine the size of pre-allocated, internal Buffer instances used for pooling. This value may be modified. + */ + static poolSize: number; + + write(string: string, encoding?: BufferEncoding): number; + write(string: string, offset: number, encoding?: BufferEncoding): number; + write(string: string, offset: number, length: number, encoding?: BufferEncoding): number; + toString(encoding?: string, start?: number, end?: number): string; + toJSON(): { type: 'Buffer'; data: number[] }; + equals(otherBuffer: Uint8Array): boolean; + compare( + otherBuffer: Uint8Array, + targetStart?: number, + targetEnd?: number, + sourceStart?: number, + sourceEnd?: number + ): number; + copy(targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + /** + * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. + * + * This method is incompatible with `Uint8Array#slice()`, which returns a copy of the original memory. + * + * @param begin Where the new `Buffer` will start. Default: `0`. + * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. + */ + slice(begin?: number, end?: number): Buffer; + /** + * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. + * + * This method is compatible with `Uint8Array#subarray()`. + * + * @param begin Where the new `Buffer` will start. Default: `0`. + * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. + */ + subarray(begin?: number, end?: number): Buffer; + writeUIntLE(value: number, offset: number, byteLength: number): number; + writeUIntBE(value: number, offset: number, byteLength: number): number; + writeIntLE(value: number, offset: number, byteLength: number): number; + writeIntBE(value: number, offset: number, byteLength: number): number; + readUIntLE(offset: number, byteLength: number): number; + readUIntBE(offset: number, byteLength: number): number; + readIntLE(offset: number, byteLength: number): number; + readIntBE(offset: number, byteLength: number): number; + readUInt8(offset: number): number; + readUInt16LE(offset: number): number; + readUInt16BE(offset: number): number; + readUInt32LE(offset: number): number; + readUInt32BE(offset: number): number; + readInt8(offset: number): number; + readInt16LE(offset: number): number; + readInt16BE(offset: number): number; + readInt32LE(offset: number): number; + readInt32BE(offset: number): number; + readFloatLE(offset: number): number; + readFloatBE(offset: number): number; + readDoubleLE(offset: number): number; + readDoubleBE(offset: number): number; + reverse(): this; + swap16(): Buffer; + swap32(): Buffer; + swap64(): Buffer; + writeUInt8(value: number, offset: number): number; + writeUInt16LE(value: number, offset: number): number; + writeUInt16BE(value: number, offset: number): number; + writeUInt32LE(value: number, offset: number): number; + writeUInt32BE(value: number, offset: number): number; + writeInt8(value: number, offset: number): number; + writeInt16LE(value: number, offset: number): number; + writeInt16BE(value: number, offset: number): number; + writeInt32LE(value: number, offset: number): number; + writeInt32BE(value: number, offset: number): number; + writeFloatLE(value: number, offset: number): number; + writeFloatBE(value: number, offset: number): number; + writeDoubleLE(value: number, offset: number): number; + writeDoubleBE(value: number, offset: number): number; + + fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this; + + indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + entries(): IterableIterator<[number, number]>; + includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean; + keys(): IterableIterator; + values(): IterableIterator; +} + +/*----------------------------------------------* +* * +* GLOBAL INTERFACES * +* * +*-----------------------------------------------*/ +declare namespace NodeJS { + interface InspectOptions { + /** + * If set to `true`, getters are going to be + * inspected as well. If set to `'get'` only getters without setter are going + * to be inspected. If set to `'set'` only getters having a corresponding + * setter are going to be inspected. This might cause side effects depending on + * the getter function. + * @default `false` + */ + getters?: 'get' | 'set' | boolean; + showHidden?: boolean; + /** + * @default 2 + */ + depth?: number | null; + colors?: boolean; + customInspect?: boolean; + showProxy?: boolean; + maxArrayLength?: number | null; + breakLength?: number; + /** + * Setting this to `false` causes each object key + * to be displayed on a new line. It will also add new lines to text that is + * longer than `breakLength`. If set to a number, the most `n` inner elements + * are united on a single line as long as all properties fit into + * `breakLength`. Short array elements are also grouped together. Note that no + * text will be reduced below 16 characters, no matter the `breakLength` size. + * For more information, see the example below. + * @default `true` + */ + compact?: boolean | number; + sorted?: boolean | ((a: string, b: string) => number); + } + + interface ConsoleConstructorOptions { + stdout: WritableStream; + stderr?: WritableStream; + ignoreErrors?: boolean; + colorMode?: boolean | 'auto'; + inspectOptions?: InspectOptions; + } + + interface ConsoleConstructor { + prototype: Console; + new(stdout: WritableStream, stderr?: WritableStream, ignoreErrors?: boolean): Console; + new(options: ConsoleConstructorOptions): Console; + } + + interface CallSite { + /** + * Value of "this" + */ + getThis(): any; + + /** + * Type of "this" as a string. + * This is the name of the function stored in the constructor field of + * "this", if available. Otherwise the object's [[Class]] internal + * property. + */ + getTypeName(): string | null; + + /** + * Current function + */ + getFunction(): Function | undefined; + + /** + * Name of the current function, typically its name property. + * If a name property is not available an attempt will be made to try + * to infer a name from the function's context. + */ + getFunctionName(): string | null; + + /** + * Name of the property [of "this" or one of its prototypes] that holds + * the current function + */ + getMethodName(): string | null; + + /** + * Name of the script [if this function was defined in a script] + */ + getFileName(): string | null; + + /** + * Current line number [if this function was defined in a script] + */ + getLineNumber(): number | null; + + /** + * Current column number [if this function was defined in a script] + */ + getColumnNumber(): number | null; + + /** + * A call site object representing the location where eval was called + * [if this function was created using a call to eval] + */ + getEvalOrigin(): string | undefined; + + /** + * Is this a toplevel invocation, that is, is "this" the global object? + */ + isToplevel(): boolean; + + /** + * Does this call take place in code defined by a call to eval? + */ + isEval(): boolean; + + /** + * Is this call in native V8 code? + */ + isNative(): boolean; + + /** + * Is this a constructor call? + */ + isConstructor(): boolean; + } + + interface ErrnoException extends Error { + errno?: number; + code?: string; + path?: string; + syscall?: string; + stack?: string; + } + + class EventEmitter { + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string | symbol): this; + setMaxListeners(n: number): this; + getMaxListeners(): number; + listeners(event: string | symbol): Function[]; + rawListeners(event: string | symbol): Function[]; + emit(event: string | symbol, ...args: any[]): boolean; + listenerCount(type: string | symbol): number; + // Added in Node 6... + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + eventNames(): Array; + } + + interface ReadableStream extends EventEmitter { + readable: boolean; + read(size?: number): string | Buffer; + setEncoding(encoding: string): this; + pause(): this; + resume(): this; + isPaused(): boolean; + pipe(destination: T, options?: { end?: boolean; }): T; + unpipe(destination?: WritableStream): this; + unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void; + wrap(oldStream: ReadableStream): this; + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableStream extends EventEmitter { + writable: boolean; + write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean; + write(str: string, encoding?: string, cb?: (err?: Error | null) => void): boolean; + end(cb?: () => void): void; + end(data: string | Uint8Array, cb?: () => void): void; + end(str: string, encoding?: string, cb?: () => void): void; + } + + interface ReadWriteStream extends ReadableStream, WritableStream { } + + interface Domain extends EventEmitter { + run(fn: (...args: any[]) => T, ...args: any[]): T; + add(emitter: EventEmitter | Timer): void; + remove(emitter: EventEmitter | Timer): void; + bind(cb: T): T; + intercept(cb: T): T; + + addListener(event: string, listener: (...args: any[]) => void): this; + on(event: string, listener: (...args: any[]) => void): this; + once(event: string, listener: (...args: any[]) => void): this; + removeListener(event: string, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string): this; + } + + interface MemoryUsage { + rss: number; + heapTotal: number; + heapUsed: number; + external: number; + } + + interface CpuUsage { + user: number; + system: number; + } + + interface ProcessRelease { + name: string; + sourceUrl?: string; + headersUrl?: string; + libUrl?: string; + lts?: string; + } + + interface ProcessVersions { + http_parser: string; + node: string; + v8: string; + ares: string; + uv: string; + zlib: string; + modules: string; + openssl: string; + } + + type Platform = 'aix' + | 'android' + | 'darwin' + | 'freebsd' + | 'linux' + | 'openbsd' + | 'sunos' + | 'win32' + | 'cygwin' + | 'netbsd'; + + type Signals = + "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" | + "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" | + "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" | + "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO"; + + type MultipleResolveType = 'resolve' | 'reject'; + + type BeforeExitListener = (code: number) => void; + type DisconnectListener = () => void; + type ExitListener = (code: number) => void; + type RejectionHandledListener = (promise: Promise) => void; + type UncaughtExceptionListener = (error: Error) => void; + type UnhandledRejectionListener = (reason: {} | null | undefined, promise: Promise) => void; + type WarningListener = (warning: Error) => void; + type MessageListener = (message: any, sendHandle: any) => void; + type SignalsListener = (signal: Signals) => void; + type NewListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type RemoveListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type MultipleResolveListener = (type: MultipleResolveType, promise: Promise, value: any) => void; + + interface Socket extends ReadWriteStream { + isTTY?: true; + } + + interface ProcessEnv { + [key: string]: string | undefined; + } + + interface HRTime { + (time?: [number, number]): [number, number]; + } + + interface ProcessReport { + /** + * Directory where the report is written. + * working directory of the Node.js process. + * @default '' indicating that reports are written to the current + */ + directory: string; + + /** + * Filename where the report is written. + * The default value is the empty string. + * @default '' the output filename will be comprised of a timestamp, + * PID, and sequence number. + */ + filename: string; + + /** + * Returns a JSON-formatted diagnostic report for the running process. + * The report's JavaScript stack trace is taken from err, if present. + */ + getReport(err?: Error): string; + + /** + * If true, a diagnostic report is generated on fatal errors, + * such as out of memory errors or failed C++ assertions. + * @default false + */ + reportOnFatalError: boolean; + + /** + * If true, a diagnostic report is generated when the process + * receives the signal specified by process.report.signal. + * @defaul false + */ + reportOnSignal: boolean; + + /** + * If true, a diagnostic report is generated on uncaught exception. + * @default false + */ + reportOnUncaughtException: boolean; + + /** + * The signal used to trigger the creation of a diagnostic report. + * @default 'SIGUSR2' + */ + signal: Signals; + + /** + * Writes a diagnostic report to a file. If filename is not provided, the default filename + * includes the date, time, PID, and a sequence number. + * The report's JavaScript stack trace is taken from err, if present. + * + * @param fileName Name of the file where the report is written. + * This should be a relative path, that will be appended to the directory specified in + * `process.report.directory`, or the current working directory of the Node.js process, + * if unspecified. + * @param error A custom error used for reporting the JavaScript stack. + * @return Filename of the generated report. + */ + writeReport(fileName?: string): string; + writeReport(error?: Error): string; + writeReport(fileName?: string, err?: Error): string; + } + + interface ResourceUsage { + fsRead: number; + fsWrite: number; + involuntaryContextSwitches: number; + ipcReceived: number; + ipcSent: number; + majorPageFault: number; + maxRSS: number; + minorPageFault: number; + sharedMemorySize: number; + signalsCount: number; + swappedOut: number; + systemCPUTime: number; + unsharedDataSize: number; + unsharedStackSize: number; + userCPUTime: number; + voluntaryContextSwitches: number; + } + + interface Process extends EventEmitter { + /** + * Can also be a tty.WriteStream, not typed due to limitation.s + */ + stdout: WriteStream; + /** + * Can also be a tty.WriteStream, not typed due to limitation.s + */ + stderr: WriteStream; + stdin: ReadStream; + openStdin(): Socket; + argv: string[]; + argv0: string; + execArgv: string[]; + execPath: string; + abort(): void; + chdir(directory: string): void; + cwd(): string; + debugPort: number; + emitWarning(warning: string | Error, name?: string, ctor?: Function): void; + env: ProcessEnv; + exit(code?: number): never; + exitCode?: number; + getgid(): number; + setgid(id: number | string): void; + getuid(): number; + setuid(id: number | string): void; + geteuid(): number; + seteuid(id: number | string): void; + getegid(): number; + setegid(id: number | string): void; + getgroups(): number[]; + setgroups(groups: Array): void; + setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void; + hasUncaughtExceptionCaptureCallback(): boolean; + version: string; + versions: ProcessVersions; + config: { + target_defaults: { + cflags: any[]; + default_configuration: string; + defines: string[]; + include_dirs: string[]; + libraries: string[]; + }; + variables: { + clang: number; + host_arch: string; + node_install_npm: boolean; + node_install_waf: boolean; + node_prefix: string; + node_shared_openssl: boolean; + node_shared_v8: boolean; + node_shared_zlib: boolean; + node_use_dtrace: boolean; + node_use_etw: boolean; + node_use_openssl: boolean; + target_arch: string; + v8_no_strict_aliasing: number; + v8_use_snapshot: boolean; + visibility: string; + }; + }; + kill(pid: number, signal?: string | number): void; + pid: number; + ppid: number; + title: string; + arch: string; + platform: Platform; + mainModule?: NodeModule; + memoryUsage(): MemoryUsage; + cpuUsage(previousValue?: CpuUsage): CpuUsage; + nextTick(callback: Function, ...args: any[]): void; + release: ProcessRelease; + features: { + inspector: boolean; + debug: boolean; + uv: boolean; + ipv6: boolean; + tls_alpn: boolean; + tls_sni: boolean; + tls_ocsp: boolean; + tls: boolean; + }; + /** + * Can only be set if not in worker thread. + */ + umask(mask?: number): number; + uptime(): number; + hrtime: HRTime; + domain: Domain; + + // Worker + send?(message: any, sendHandle?: any, options?: { swallowErrors?: boolean}, callback?: (error: Error | null) => void): boolean; + disconnect(): void; + connected: boolean; + + /** + * The `process.allowedNodeEnvironmentFlags` property is a special, + * read-only `Set` of flags allowable within the [`NODE_OPTIONS`][] + * environment variable. + */ + allowedNodeEnvironmentFlags: ReadonlySet; + + /** + * Only available with `--experimental-report` + */ + report?: ProcessReport; + + resourceUsage(): ResourceUsage; + + /** + * EventEmitter + * 1. beforeExit + * 2. disconnect + * 3. exit + * 4. message + * 5. rejectionHandled + * 6. uncaughtException + * 7. unhandledRejection + * 8. warning + * 9. message + * 10. + * 11. newListener/removeListener inherited from EventEmitter + */ + addListener(event: "beforeExit", listener: BeforeExitListener): this; + addListener(event: "disconnect", listener: DisconnectListener): this; + addListener(event: "exit", listener: ExitListener): this; + addListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + addListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + addListener(event: "warning", listener: WarningListener): this; + addListener(event: "message", listener: MessageListener): this; + addListener(event: Signals, listener: SignalsListener): this; + addListener(event: "newListener", listener: NewListenerListener): this; + addListener(event: "removeListener", listener: RemoveListenerListener): this; + addListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + emit(event: "beforeExit", code: number): boolean; + emit(event: "disconnect"): boolean; + emit(event: "exit", code: number): boolean; + emit(event: "rejectionHandled", promise: Promise): boolean; + emit(event: "uncaughtException", error: Error): boolean; + emit(event: "unhandledRejection", reason: any, promise: Promise): boolean; + emit(event: "warning", warning: Error): boolean; + emit(event: "message", message: any, sendHandle: any): this; + emit(event: Signals, signal: Signals): boolean; + emit(event: "newListener", eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(event: "removeListener", eventName: string, listener: (...args: any[]) => void): this; + emit(event: "multipleResolves", listener: MultipleResolveListener): this; + + on(event: "beforeExit", listener: BeforeExitListener): this; + on(event: "disconnect", listener: DisconnectListener): this; + on(event: "exit", listener: ExitListener): this; + on(event: "rejectionHandled", listener: RejectionHandledListener): this; + on(event: "uncaughtException", listener: UncaughtExceptionListener): this; + on(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + on(event: "warning", listener: WarningListener): this; + on(event: "message", listener: MessageListener): this; + on(event: Signals, listener: SignalsListener): this; + on(event: "newListener", listener: NewListenerListener): this; + on(event: "removeListener", listener: RemoveListenerListener): this; + on(event: "multipleResolves", listener: MultipleResolveListener): this; + + once(event: "beforeExit", listener: BeforeExitListener): this; + once(event: "disconnect", listener: DisconnectListener): this; + once(event: "exit", listener: ExitListener): this; + once(event: "rejectionHandled", listener: RejectionHandledListener): this; + once(event: "uncaughtException", listener: UncaughtExceptionListener): this; + once(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + once(event: "warning", listener: WarningListener): this; + once(event: "message", listener: MessageListener): this; + once(event: Signals, listener: SignalsListener): this; + once(event: "newListener", listener: NewListenerListener): this; + once(event: "removeListener", listener: RemoveListenerListener): this; + once(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependListener(event: "beforeExit", listener: BeforeExitListener): this; + prependListener(event: "disconnect", listener: DisconnectListener): this; + prependListener(event: "exit", listener: ExitListener): this; + prependListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependListener(event: "warning", listener: WarningListener): this; + prependListener(event: "message", listener: MessageListener): this; + prependListener(event: Signals, listener: SignalsListener): this; + prependListener(event: "newListener", listener: NewListenerListener): this; + prependListener(event: "removeListener", listener: RemoveListenerListener): this; + prependListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependOnceListener(event: "beforeExit", listener: BeforeExitListener): this; + prependOnceListener(event: "disconnect", listener: DisconnectListener): this; + prependOnceListener(event: "exit", listener: ExitListener): this; + prependOnceListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependOnceListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependOnceListener(event: "warning", listener: WarningListener): this; + prependOnceListener(event: "message", listener: MessageListener): this; + prependOnceListener(event: Signals, listener: SignalsListener): this; + prependOnceListener(event: "newListener", listener: NewListenerListener): this; + prependOnceListener(event: "removeListener", listener: RemoveListenerListener): this; + prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + listeners(event: "beforeExit"): BeforeExitListener[]; + listeners(event: "disconnect"): DisconnectListener[]; + listeners(event: "exit"): ExitListener[]; + listeners(event: "rejectionHandled"): RejectionHandledListener[]; + listeners(event: "uncaughtException"): UncaughtExceptionListener[]; + listeners(event: "unhandledRejection"): UnhandledRejectionListener[]; + listeners(event: "warning"): WarningListener[]; + listeners(event: "message"): MessageListener[]; + listeners(event: Signals): SignalsListener[]; + listeners(event: "newListener"): NewListenerListener[]; + listeners(event: "removeListener"): RemoveListenerListener[]; + listeners(event: "multipleResolves"): MultipleResolveListener[]; + } + + interface Global { + Array: typeof Array; + ArrayBuffer: typeof ArrayBuffer; + Boolean: typeof Boolean; + Buffer: typeof Buffer; + DataView: typeof DataView; + Date: typeof Date; + Error: typeof Error; + EvalError: typeof EvalError; + Float32Array: typeof Float32Array; + Float64Array: typeof Float64Array; + Function: typeof Function; + GLOBAL: Global; + Infinity: typeof Infinity; + Int16Array: typeof Int16Array; + Int32Array: typeof Int32Array; + Int8Array: typeof Int8Array; + Intl: typeof Intl; + JSON: typeof JSON; + Map: MapConstructor; + Math: typeof Math; + NaN: typeof NaN; + Number: typeof Number; + Object: typeof Object; + Promise: Function; + RangeError: typeof RangeError; + ReferenceError: typeof ReferenceError; + RegExp: typeof RegExp; + Set: SetConstructor; + String: typeof String; + Symbol: Function; + SyntaxError: typeof SyntaxError; + TypeError: typeof TypeError; + URIError: typeof URIError; + Uint16Array: typeof Uint16Array; + Uint32Array: typeof Uint32Array; + Uint8Array: typeof Uint8Array; + Uint8ClampedArray: Function; + WeakMap: WeakMapConstructor; + WeakSet: WeakSetConstructor; + clearImmediate: (immediateId: Immediate) => void; + clearInterval: (intervalId: Timeout) => void; + clearTimeout: (timeoutId: Timeout) => void; + console: typeof console; + decodeURI: typeof decodeURI; + decodeURIComponent: typeof decodeURIComponent; + encodeURI: typeof encodeURI; + encodeURIComponent: typeof encodeURIComponent; + escape: (str: string) => string; + eval: typeof eval; + global: Global; + isFinite: typeof isFinite; + isNaN: typeof isNaN; + parseFloat: typeof parseFloat; + parseInt: typeof parseInt; + process: Process; + root: Global; + setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => Immediate; + setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + queueMicrotask: typeof queueMicrotask; + undefined: typeof undefined; + unescape: (str: string) => string; + gc: () => void; + v8debug?: any; + } + + // compatibility with older typings + interface Timer { + hasRef(): boolean; + ref(): this; + refresh(): this; + unref(): this; + } + + class Immediate { + hasRef(): boolean; + ref(): this; + unref(): this; + _onImmediate: Function; // to distinguish it from the Timeout class + } + + class Timeout implements Timer { + hasRef(): boolean; + ref(): this; + refresh(): this; + unref(): this; + } + + class Module { + static runMain(): void; + static wrap(code: string): string; + + /** + * @deprecated Deprecated since: v12.2.0. Please use createRequire() instead. + */ + static createRequireFromPath(path: string): NodeRequireFunction; + static createRequire(path: string): NodeRequireFunction; + static builtinModules: string[]; + + static Module: typeof Module; + + exports: any; + require: NodeRequireFunction; + id: string; + filename: string; + loaded: boolean; + parent: Module | null; + children: Module[]; + paths: string[]; + + constructor(id: string, parent?: Module); + } + + type TypedArray = Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array | Float32Array | Float64Array; + type ArrayBufferView = TypedArray | DataView; + + // The value type here is a "poor man's `unknown`". When these types support TypeScript + // 3.0+, we can replace this with `unknown`. + type PoorMansUnknown = {} | null | undefined; +} diff --git a/node_modules/@types/node/http.d.ts b/node_modules/@types/node/http.d.ts new file mode 100644 index 0000000..ef5f1ef --- /dev/null +++ b/node_modules/@types/node/http.d.ts @@ -0,0 +1,370 @@ +declare module "http" { + import * as events from "events"; + import * as stream from "stream"; + import { URL } from "url"; + import { Socket, Server as NetServer } from "net"; + + // incoming headers will never contain number + interface IncomingHttpHeaders { + 'accept'?: string; + 'accept-language'?: string; + 'accept-patch'?: string; + 'accept-ranges'?: string; + 'access-control-allow-credentials'?: string; + 'access-control-allow-headers'?: string; + 'access-control-allow-methods'?: string; + 'access-control-allow-origin'?: string; + 'access-control-expose-headers'?: string; + 'access-control-max-age'?: string; + 'age'?: string; + 'allow'?: string; + 'alt-svc'?: string; + 'authorization'?: string; + 'cache-control'?: string; + 'connection'?: string; + 'content-disposition'?: string; + 'content-encoding'?: string; + 'content-language'?: string; + 'content-length'?: string; + 'content-location'?: string; + 'content-range'?: string; + 'content-type'?: string; + 'cookie'?: string; + 'date'?: string; + 'expect'?: string; + 'expires'?: string; + 'forwarded'?: string; + 'from'?: string; + 'host'?: string; + 'if-match'?: string; + 'if-modified-since'?: string; + 'if-none-match'?: string; + 'if-unmodified-since'?: string; + 'last-modified'?: string; + 'location'?: string; + 'pragma'?: string; + 'proxy-authenticate'?: string; + 'proxy-authorization'?: string; + 'public-key-pins'?: string; + 'range'?: string; + 'referer'?: string; + 'retry-after'?: string; + 'set-cookie'?: string[]; + 'strict-transport-security'?: string; + 'tk'?: string; + 'trailer'?: string; + 'transfer-encoding'?: string; + 'upgrade'?: string; + 'user-agent'?: string; + 'vary'?: string; + 'via'?: string; + 'warning'?: string; + 'www-authenticate'?: string; + [header: string]: string | string[] | undefined; + } + + // outgoing headers allows numbers (as they are converted internally to strings) + interface OutgoingHttpHeaders { + [header: string]: number | string | string[] | undefined; + } + + interface ClientRequestArgs { + protocol?: string; + host?: string; + hostname?: string; + family?: number; + port?: number | string; + defaultPort?: number | string; + localAddress?: string; + socketPath?: string; + method?: string; + path?: string; + headers?: OutgoingHttpHeaders; + auth?: string; + agent?: Agent | boolean; + _defaultAgent?: Agent; + timeout?: number; + setHost?: boolean; + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278 + createConnection?: (options: ClientRequestArgs, oncreate: (err: Error, socket: Socket) => void) => Socket; + } + + interface ServerOptions { + IncomingMessage?: typeof IncomingMessage; + ServerResponse?: typeof ServerResponse; + } + + type RequestListener = (req: IncomingMessage, res: ServerResponse) => void; + + class Server extends NetServer { + constructor(requestListener?: RequestListener); + constructor(options: ServerOptions, requestListener?: RequestListener); + + setTimeout(msecs?: number, callback?: () => void): this; + setTimeout(callback: () => void): this; + /** + * Limits maximum incoming headers count. If set to 0, no limit will be applied. + * @default 2000 + * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} + */ + maxHeadersCount: number | null; + timeout: number; + /** + * Limit the amount of time the parser will wait to receive the complete HTTP headers. + * @default 40000 + * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} + */ + headersTimeout: number; + keepAliveTimeout: number; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js + class OutgoingMessage extends stream.Writable { + upgrading: boolean; + chunkedEncoding: boolean; + shouldKeepAlive: boolean; + useChunkedEncodingByDefault: boolean; + sendDate: boolean; + finished: boolean; + headersSent: boolean; + connection: Socket; + + constructor(); + + setTimeout(msecs: number, callback?: () => void): this; + setHeader(name: string, value: number | string | string[]): void; + getHeader(name: string): number | string | string[] | undefined; + getHeaders(): OutgoingHttpHeaders; + getHeaderNames(): string[]; + hasHeader(name: string): boolean; + removeHeader(name: string): void; + addTrailers(headers: OutgoingHttpHeaders | Array<[string, string]>): void; + flushHeaders(): void; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_server.js#L108-L256 + class ServerResponse extends OutgoingMessage { + statusCode: number; + statusMessage: string; + writableFinished: boolean; + + constructor(req: IncomingMessage); + + assignSocket(socket: Socket): void; + detachSocket(socket: Socket): void; + // https://github.com/nodejs/node/blob/master/test/parallel/test-http-write-callbacks.js#L53 + // no args in writeContinue callback + writeContinue(callback?: () => void): void; + writeHead(statusCode: number, reasonPhrase?: string, headers?: OutgoingHttpHeaders): this; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; + } + + interface InformationEvent { + statusCode: number; + statusMessage: string; + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L77 + class ClientRequest extends OutgoingMessage { + connection: Socket; + socket: Socket; + aborted: number; + + constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); + + readonly path: string; + abort(): void; + onSocket(socket: Socket): void; + setTimeout(timeout: number, callback?: () => void): this; + setNoDelay(noDelay?: boolean): void; + setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; + + addListener(event: 'abort', listener: () => void): this; + addListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + addListener(event: 'continue', listener: () => void): this; + addListener(event: 'information', listener: (info: InformationEvent) => void): this; + addListener(event: 'response', listener: (response: IncomingMessage) => void): this; + addListener(event: 'socket', listener: (socket: Socket) => void): this; + addListener(event: 'timeout', listener: () => void): this; + addListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + addListener(event: 'close', listener: () => void): this; + addListener(event: 'drain', listener: () => void): this; + addListener(event: 'error', listener: (err: Error) => void): this; + addListener(event: 'finish', listener: () => void): this; + addListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + addListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + on(event: 'abort', listener: () => void): this; + on(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + on(event: 'continue', listener: () => void): this; + on(event: 'information', listener: (info: InformationEvent) => void): this; + on(event: 'response', listener: (response: IncomingMessage) => void): this; + on(event: 'socket', listener: (socket: Socket) => void): this; + on(event: 'timeout', listener: () => void): this; + on(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + on(event: 'close', listener: () => void): this; + on(event: 'drain', listener: () => void): this; + on(event: 'error', listener: (err: Error) => void): this; + on(event: 'finish', listener: () => void): this; + on(event: 'pipe', listener: (src: stream.Readable) => void): this; + on(event: 'unpipe', listener: (src: stream.Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: 'abort', listener: () => void): this; + once(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + once(event: 'continue', listener: () => void): this; + once(event: 'information', listener: (info: InformationEvent) => void): this; + once(event: 'response', listener: (response: IncomingMessage) => void): this; + once(event: 'socket', listener: (socket: Socket) => void): this; + once(event: 'timeout', listener: () => void): this; + once(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + once(event: 'close', listener: () => void): this; + once(event: 'drain', listener: () => void): this; + once(event: 'error', listener: (err: Error) => void): this; + once(event: 'finish', listener: () => void): this; + once(event: 'pipe', listener: (src: stream.Readable) => void): this; + once(event: 'unpipe', listener: (src: stream.Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: 'abort', listener: () => void): this; + prependListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependListener(event: 'continue', listener: () => void): this; + prependListener(event: 'information', listener: (info: InformationEvent) => void): this; + prependListener(event: 'response', listener: (response: IncomingMessage) => void): this; + prependListener(event: 'socket', listener: (socket: Socket) => void): this; + prependListener(event: 'timeout', listener: () => void): this; + prependListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependListener(event: 'close', listener: () => void): this; + prependListener(event: 'drain', listener: () => void): this; + prependListener(event: 'error', listener: (err: Error) => void): this; + prependListener(event: 'finish', listener: () => void): this; + prependListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + prependListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: 'abort', listener: () => void): this; + prependOnceListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependOnceListener(event: 'continue', listener: () => void): this; + prependOnceListener(event: 'information', listener: (info: InformationEvent) => void): this; + prependOnceListener(event: 'response', listener: (response: IncomingMessage) => void): this; + prependOnceListener(event: 'socket', listener: (socket: Socket) => void): this; + prependOnceListener(event: 'timeout', listener: () => void): this; + prependOnceListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependOnceListener(event: 'close', listener: () => void): this; + prependOnceListener(event: 'drain', listener: () => void): this; + prependOnceListener(event: 'error', listener: (err: Error) => void): this; + prependOnceListener(event: 'finish', listener: () => void): this; + prependOnceListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + prependOnceListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + class IncomingMessage extends stream.Readable { + constructor(socket: Socket); + + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + complete: boolean; + connection: Socket; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + trailers: { [key: string]: string | undefined }; + rawTrailers: string[]; + setTimeout(msecs: number, callback?: () => void): this; + /** + * Only valid for request obtained from http.Server. + */ + method?: string; + /** + * Only valid for request obtained from http.Server. + */ + url?: string; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusCode?: number; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusMessage?: string; + socket: Socket; + destroy(error?: Error): void; + } + + interface AgentOptions { + /** + * Keep sockets around in a pool to be used by other requests in the future. Default = false + */ + keepAlive?: boolean; + /** + * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. + * Only relevant if keepAlive is set to true. + */ + keepAliveMsecs?: number; + /** + * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity + */ + maxSockets?: number; + /** + * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256. + */ + maxFreeSockets?: number; + /** + * Socket timeout in milliseconds. This will set the timeout after the socket is connected. + */ + timeout?: number; + } + + class Agent { + maxFreeSockets: number; + maxSockets: number; + readonly sockets: { + readonly [key: string]: Socket[]; + }; + readonly requests: { + readonly [key: string]: IncomingMessage[]; + }; + + constructor(opts?: AgentOptions); + + /** + * Destroy any sockets that are currently in use by the agent. + * It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, + * then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, + * sockets may hang open for quite a long time before the server terminates them. + */ + destroy(): void; + } + + const METHODS: string[]; + + const STATUS_CODES: { + [errorCode: number]: string | undefined; + [errorCode: string]: string | undefined; + }; + + function createServer(requestListener?: RequestListener): Server; + function createServer(options: ServerOptions, requestListener?: RequestListener): Server; + + // although RequestOptions are passed as ClientRequestArgs to ClientRequest directly, + // create interface RequestOptions would make the naming more clear to developers + interface RequestOptions extends ClientRequestArgs { } + function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + let globalAgent: Agent; + + /** + * Read-only property specifying the maximum allowed size of HTTP headers in bytes. + * Defaults to 8KB. Configurable using the [`--max-http-header-size`][] CLI option. + */ + const maxHeaderSize: number; +} diff --git a/node_modules/@types/node/http2.d.ts b/node_modules/@types/node/http2.d.ts new file mode 100644 index 0000000..7b40e5c --- /dev/null +++ b/node_modules/@types/node/http2.d.ts @@ -0,0 +1,960 @@ +declare module "http2" { + import * as events from "events"; + import * as fs from "fs"; + import * as net from "net"; + import * as stream from "stream"; + import * as tls from "tls"; + import * as url from "url"; + + import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders, IncomingMessage, ServerResponse } from "http"; + export { OutgoingHttpHeaders } from "http"; + + export interface IncomingHttpStatusHeader { + ":status"?: number; + } + + export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { + ":path"?: string; + ":method"?: string; + ":authority"?: string; + ":scheme"?: string; + } + + // Http2Stream + + export interface StreamPriorityOptions { + exclusive?: boolean; + parent?: number; + weight?: number; + silent?: boolean; + } + + export interface StreamState { + localWindowSize?: number; + state?: number; + localClose?: number; + remoteClose?: number; + sumDependencyWeight?: number; + weight?: number; + } + + export interface ServerStreamResponseOptions { + endStream?: boolean; + waitForTrailers?: boolean; + } + + export interface StatOptions { + offset: number; + length: number; + } + + export interface ServerStreamFileResponseOptions { + statCheck?: (stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => void | boolean; + waitForTrailers?: boolean; + offset?: number; + length?: number; + } + + export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { + onError?: (err: NodeJS.ErrnoException) => void; + } + + export class Http2Stream extends stream.Duplex { + protected constructor(); + + readonly aborted: boolean; + readonly bufferSize: number; + readonly closed: boolean; + readonly destroyed: boolean; + /** + * Set the true if the END_STREAM flag was set in the request or response HEADERS frame received, + * indicating that no additional data should be received and the readable side of the Http2Stream will be closed. + */ + readonly endAfterHeaders: boolean; + readonly id?: number; + readonly pending: boolean; + readonly rstCode: number; + readonly sentHeaders: OutgoingHttpHeaders; + readonly sentInfoHeaders?: OutgoingHttpHeaders[]; + readonly sentTrailers?: OutgoingHttpHeaders; + readonly session: Http2Session; + readonly state: StreamState; + + close(code?: number, callback?: () => void): void; + priority(options: StreamPriorityOptions): void; + setTimeout(msecs: number, callback?: () => void): void; + sendTrailers(headers: OutgoingHttpHeaders): void; + + addListener(event: "aborted", listener: () => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: "streamClosed", listener: (code: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "wantTrailers", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "aborted"): boolean; + emit(event: "close"): boolean; + emit(event: "data", chunk: Buffer | string): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "frameError", frameType: number, errorCode: number): boolean; + emit(event: "pipe", src: stream.Readable): boolean; + emit(event: "unpipe", src: stream.Readable): boolean; + emit(event: "streamClosed", code: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "wantTrailers"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "aborted", listener: () => void): this; + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: "streamClosed", listener: (code: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "wantTrailers", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "aborted", listener: () => void): this; + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: "streamClosed", listener: (code: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "wantTrailers", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "aborted", listener: () => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "streamClosed", listener: (code: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "wantTrailers", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "aborted", listener: () => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "streamClosed", listener: (code: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "wantTrailers", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export class ClientHttp2Stream extends Http2Stream { + private constructor(); + + addListener(event: "continue", listener: () => {}): this; + addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "continue"): boolean; + emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "continue", listener: () => {}): this; + on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "continue", listener: () => {}): this; + once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "continue", listener: () => {}): this; + prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "continue", listener: () => {}): this; + prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export class ServerHttp2Stream extends Http2Stream { + private constructor(); + + additionalHeaders(headers: OutgoingHttpHeaders): void; + readonly headersSent: boolean; + readonly pushAllowed: boolean; + pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void; + respondWithFD(fd: number, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void; + respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void; + } + + // Http2Session + + export interface Settings { + headerTableSize?: number; + enablePush?: boolean; + initialWindowSize?: number; + maxFrameSize?: number; + maxConcurrentStreams?: number; + maxHeaderListSize?: number; + enableConnectProtocol?: boolean; + } + + export interface ClientSessionRequestOptions { + endStream?: boolean; + exclusive?: boolean; + parent?: number; + weight?: number; + waitForTrailers?: boolean; + } + + export interface SessionState { + effectiveLocalWindowSize?: number; + effectiveRecvDataLength?: number; + nextStreamID?: number; + localWindowSize?: number; + lastProcStreamID?: number; + remoteWindowSize?: number; + outboundQueueSize?: number; + deflateDynamicTableSize?: number; + inflateDynamicTableSize?: number; + } + + export class Http2Session extends events.EventEmitter { + protected constructor(); + + readonly alpnProtocol?: string; + close(callback?: () => void): void; + readonly closed: boolean; + readonly connecting: boolean; + destroy(error?: Error, code?: number): void; + readonly destroyed: boolean; + readonly encrypted?: boolean; + goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void; + readonly localSettings: Settings; + readonly originSet?: string[]; + readonly pendingSettingsAck: boolean; + ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ping(payload: NodeJS.ArrayBufferView, callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ref(): void; + readonly remoteSettings: Settings; + setTimeout(msecs: number, callback?: () => void): void; + readonly socket: net.Socket | tls.TLSSocket; + readonly state: SessionState; + settings(settings: Settings): void; + readonly type: number; + unref(): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + addListener(event: "localSettings", listener: (settings: Settings) => void): this; + addListener(event: "ping", listener: () => void): this; + addListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean; + emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean; + emit(event: "localSettings", settings: Settings): boolean; + emit(event: "ping"): boolean; + emit(event: "remoteSettings", settings: Settings): boolean; + emit(event: "timeout"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + on(event: "localSettings", listener: (settings: Settings) => void): this; + on(event: "ping", listener: () => void): this; + on(event: "remoteSettings", listener: (settings: Settings) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + once(event: "localSettings", listener: (settings: Settings) => void): this; + once(event: "ping", listener: () => void): this; + once(event: "remoteSettings", listener: (settings: Settings) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependListener(event: "ping", listener: () => void): this; + prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "ping", listener: () => void): this; + prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export class ClientHttp2Session extends Http2Session { + private constructor(); + + request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream; + + addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + addListener(event: "origin", listener: (origins: string[]) => void): this; + addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "altsvc", alt: string, origin: string, stream: number): boolean; + emit(event: "origin", origins: string[]): boolean; + emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + on(event: "origin", listener: (origins: string[]) => void): this; + on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + once(event: "origin", listener: (origins: string[]) => void): this; + once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependListener(event: "origin", listener: (origins: string[]) => void): this; + prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependOnceListener(event: "origin", listener: (origins: string[]) => void): this; + prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface AlternativeServiceOptions { + origin: number | string | url.URL; + } + + export class ServerHttp2Session extends Http2Session { + private constructor(); + + altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; + origin(...args: Array): void; + readonly server: Http2Server | Http2SecureServer; + + addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + // Http2Server + + export interface SessionOptions { + maxDeflateDynamicTableSize?: number; + maxSessionMemory?: number; + maxHeaderListPairs?: number; + maxOutstandingPings?: number; + maxSendHeaderBlockLength?: number; + paddingStrategy?: number; + peerMaxConcurrentStreams?: number; + selectPadding?: (frameLen: number, maxFrameLen: number) => number; + settings?: Settings; + createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex; + } + + export interface ClientSessionOptions extends SessionOptions { + maxReservedRemoteStreams?: number; + createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex; + } + + export interface ServerSessionOptions extends SessionOptions { + Http1IncomingMessage?: typeof IncomingMessage; + Http1ServerResponse?: typeof ServerResponse; + Http2ServerRequest?: typeof Http2ServerRequest; + Http2ServerResponse?: typeof Http2ServerResponse; + } + + export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { } + export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { } + + export interface ServerOptions extends ServerSessionOptions { } + + export interface SecureServerOptions extends SecureServerSessionOptions { + allowHTTP1?: boolean; + origins?: string[]; + } + + export class Http2Server extends net.Server { + private constructor(); + + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "session", session: ServerHttp2Session): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "session", listener: (session: ServerHttp2Session) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "session", listener: (session: ServerHttp2Session) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + setTimeout(msec?: number, callback?: () => void): this; + } + + export class Http2SecureServer extends tls.Server { + private constructor(); + + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "session", session: ServerHttp2Session): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "session", listener: (session: ServerHttp2Session) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "session", listener: (session: ServerHttp2Session) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + setTimeout(msec?: number, callback?: () => void): this; + } + + export class Http2ServerRequest extends stream.Readable { + constructor(stream: ServerHttp2Stream, headers: IncomingHttpHeaders, options: stream.ReadableOptions, rawHeaders: string[]); + + readonly aborted: boolean; + readonly authority: string; + readonly headers: IncomingHttpHeaders; + readonly httpVersion: string; + readonly method: string; + readonly rawHeaders: string[]; + readonly rawTrailers: string[]; + readonly scheme: string; + setTimeout(msecs: number, callback?: () => void): void; + readonly socket: net.Socket | tls.TLSSocket; + readonly stream: ServerHttp2Stream; + readonly trailers: IncomingHttpHeaders; + readonly url: string; + + read(size?: number): Buffer | string | null; + + addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "aborted", hadError: boolean, code: number): boolean; + emit(event: "close"): boolean; + emit(event: "data", chunk: Buffer | string): boolean; + emit(event: "end"): boolean; + emit(event: "readable"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "end", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "end", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export class Http2ServerResponse extends stream.Stream { + constructor(stream: ServerHttp2Stream); + + addTrailers(trailers: OutgoingHttpHeaders): void; + readonly connection: net.Socket | tls.TLSSocket; + end(callback?: () => void): void; + end(data: string | Uint8Array, callback?: () => void): void; + end(data: string | Uint8Array, encoding: string, callback?: () => void): void; + readonly finished: boolean; + getHeader(name: string): string; + getHeaderNames(): string[]; + getHeaders(): OutgoingHttpHeaders; + hasHeader(name: string): boolean; + readonly headersSent: boolean; + removeHeader(name: string): void; + sendDate: boolean; + setHeader(name: string, value: number | string | string[]): void; + setTimeout(msecs: number, callback?: () => void): void; + readonly socket: net.Socket | tls.TLSSocket; + statusCode: number; + statusMessage: ''; + readonly stream: ServerHttp2Stream; + write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean; + write(chunk: string | Uint8Array, encoding: string, callback?: (err: Error) => void): boolean; + writeContinue(): void; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; + writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this; + createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "pipe", src: stream.Readable): boolean; + emit(event: "unpipe", src: stream.Readable): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + // Public API + + export namespace constants { + const NGHTTP2_SESSION_SERVER: number; + const NGHTTP2_SESSION_CLIENT: number; + const NGHTTP2_STREAM_STATE_IDLE: number; + const NGHTTP2_STREAM_STATE_OPEN: number; + const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number; + const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number; + const NGHTTP2_STREAM_STATE_CLOSED: number; + const NGHTTP2_NO_ERROR: number; + const NGHTTP2_PROTOCOL_ERROR: number; + const NGHTTP2_INTERNAL_ERROR: number; + const NGHTTP2_FLOW_CONTROL_ERROR: number; + const NGHTTP2_SETTINGS_TIMEOUT: number; + const NGHTTP2_STREAM_CLOSED: number; + const NGHTTP2_FRAME_SIZE_ERROR: number; + const NGHTTP2_REFUSED_STREAM: number; + const NGHTTP2_CANCEL: number; + const NGHTTP2_COMPRESSION_ERROR: number; + const NGHTTP2_CONNECT_ERROR: number; + const NGHTTP2_ENHANCE_YOUR_CALM: number; + const NGHTTP2_INADEQUATE_SECURITY: number; + const NGHTTP2_HTTP_1_1_REQUIRED: number; + const NGHTTP2_ERR_FRAME_SIZE_ERROR: number; + const NGHTTP2_FLAG_NONE: number; + const NGHTTP2_FLAG_END_STREAM: number; + const NGHTTP2_FLAG_END_HEADERS: number; + const NGHTTP2_FLAG_ACK: number; + const NGHTTP2_FLAG_PADDED: number; + const NGHTTP2_FLAG_PRIORITY: number; + const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number; + const DEFAULT_SETTINGS_ENABLE_PUSH: number; + const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number; + const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number; + const MAX_MAX_FRAME_SIZE: number; + const MIN_MAX_FRAME_SIZE: number; + const MAX_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_DEFAULT_WEIGHT: number; + const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number; + const NGHTTP2_SETTINGS_ENABLE_PUSH: number; + const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number; + const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number; + const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number; + const PADDING_STRATEGY_NONE: number; + const PADDING_STRATEGY_MAX: number; + const PADDING_STRATEGY_CALLBACK: number; + const HTTP2_HEADER_STATUS: string; + const HTTP2_HEADER_METHOD: string; + const HTTP2_HEADER_AUTHORITY: string; + const HTTP2_HEADER_SCHEME: string; + const HTTP2_HEADER_PATH: string; + const HTTP2_HEADER_ACCEPT_CHARSET: string; + const HTTP2_HEADER_ACCEPT_ENCODING: string; + const HTTP2_HEADER_ACCEPT_LANGUAGE: string; + const HTTP2_HEADER_ACCEPT_RANGES: string; + const HTTP2_HEADER_ACCEPT: string; + const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; + const HTTP2_HEADER_AGE: string; + const HTTP2_HEADER_ALLOW: string; + const HTTP2_HEADER_AUTHORIZATION: string; + const HTTP2_HEADER_CACHE_CONTROL: string; + const HTTP2_HEADER_CONNECTION: string; + const HTTP2_HEADER_CONTENT_DISPOSITION: string; + const HTTP2_HEADER_CONTENT_ENCODING: string; + const HTTP2_HEADER_CONTENT_LANGUAGE: string; + const HTTP2_HEADER_CONTENT_LENGTH: string; + const HTTP2_HEADER_CONTENT_LOCATION: string; + const HTTP2_HEADER_CONTENT_MD5: string; + const HTTP2_HEADER_CONTENT_RANGE: string; + const HTTP2_HEADER_CONTENT_TYPE: string; + const HTTP2_HEADER_COOKIE: string; + const HTTP2_HEADER_DATE: string; + const HTTP2_HEADER_ETAG: string; + const HTTP2_HEADER_EXPECT: string; + const HTTP2_HEADER_EXPIRES: string; + const HTTP2_HEADER_FROM: string; + const HTTP2_HEADER_HOST: string; + const HTTP2_HEADER_IF_MATCH: string; + const HTTP2_HEADER_IF_MODIFIED_SINCE: string; + const HTTP2_HEADER_IF_NONE_MATCH: string; + const HTTP2_HEADER_IF_RANGE: string; + const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string; + const HTTP2_HEADER_LAST_MODIFIED: string; + const HTTP2_HEADER_LINK: string; + const HTTP2_HEADER_LOCATION: string; + const HTTP2_HEADER_MAX_FORWARDS: string; + const HTTP2_HEADER_PREFER: string; + const HTTP2_HEADER_PROXY_AUTHENTICATE: string; + const HTTP2_HEADER_PROXY_AUTHORIZATION: string; + const HTTP2_HEADER_RANGE: string; + const HTTP2_HEADER_REFERER: string; + const HTTP2_HEADER_REFRESH: string; + const HTTP2_HEADER_RETRY_AFTER: string; + const HTTP2_HEADER_SERVER: string; + const HTTP2_HEADER_SET_COOKIE: string; + const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string; + const HTTP2_HEADER_TRANSFER_ENCODING: string; + const HTTP2_HEADER_TE: string; + const HTTP2_HEADER_UPGRADE: string; + const HTTP2_HEADER_USER_AGENT: string; + const HTTP2_HEADER_VARY: string; + const HTTP2_HEADER_VIA: string; + const HTTP2_HEADER_WWW_AUTHENTICATE: string; + const HTTP2_HEADER_HTTP2_SETTINGS: string; + const HTTP2_HEADER_KEEP_ALIVE: string; + const HTTP2_HEADER_PROXY_CONNECTION: string; + const HTTP2_METHOD_ACL: string; + const HTTP2_METHOD_BASELINE_CONTROL: string; + const HTTP2_METHOD_BIND: string; + const HTTP2_METHOD_CHECKIN: string; + const HTTP2_METHOD_CHECKOUT: string; + const HTTP2_METHOD_CONNECT: string; + const HTTP2_METHOD_COPY: string; + const HTTP2_METHOD_DELETE: string; + const HTTP2_METHOD_GET: string; + const HTTP2_METHOD_HEAD: string; + const HTTP2_METHOD_LABEL: string; + const HTTP2_METHOD_LINK: string; + const HTTP2_METHOD_LOCK: string; + const HTTP2_METHOD_MERGE: string; + const HTTP2_METHOD_MKACTIVITY: string; + const HTTP2_METHOD_MKCALENDAR: string; + const HTTP2_METHOD_MKCOL: string; + const HTTP2_METHOD_MKREDIRECTREF: string; + const HTTP2_METHOD_MKWORKSPACE: string; + const HTTP2_METHOD_MOVE: string; + const HTTP2_METHOD_OPTIONS: string; + const HTTP2_METHOD_ORDERPATCH: string; + const HTTP2_METHOD_PATCH: string; + const HTTP2_METHOD_POST: string; + const HTTP2_METHOD_PRI: string; + const HTTP2_METHOD_PROPFIND: string; + const HTTP2_METHOD_PROPPATCH: string; + const HTTP2_METHOD_PUT: string; + const HTTP2_METHOD_REBIND: string; + const HTTP2_METHOD_REPORT: string; + const HTTP2_METHOD_SEARCH: string; + const HTTP2_METHOD_TRACE: string; + const HTTP2_METHOD_UNBIND: string; + const HTTP2_METHOD_UNCHECKOUT: string; + const HTTP2_METHOD_UNLINK: string; + const HTTP2_METHOD_UNLOCK: string; + const HTTP2_METHOD_UPDATE: string; + const HTTP2_METHOD_UPDATEREDIRECTREF: string; + const HTTP2_METHOD_VERSION_CONTROL: string; + const HTTP_STATUS_CONTINUE: number; + const HTTP_STATUS_SWITCHING_PROTOCOLS: number; + const HTTP_STATUS_PROCESSING: number; + const HTTP_STATUS_OK: number; + const HTTP_STATUS_CREATED: number; + const HTTP_STATUS_ACCEPTED: number; + const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number; + const HTTP_STATUS_NO_CONTENT: number; + const HTTP_STATUS_RESET_CONTENT: number; + const HTTP_STATUS_PARTIAL_CONTENT: number; + const HTTP_STATUS_MULTI_STATUS: number; + const HTTP_STATUS_ALREADY_REPORTED: number; + const HTTP_STATUS_IM_USED: number; + const HTTP_STATUS_MULTIPLE_CHOICES: number; + const HTTP_STATUS_MOVED_PERMANENTLY: number; + const HTTP_STATUS_FOUND: number; + const HTTP_STATUS_SEE_OTHER: number; + const HTTP_STATUS_NOT_MODIFIED: number; + const HTTP_STATUS_USE_PROXY: number; + const HTTP_STATUS_TEMPORARY_REDIRECT: number; + const HTTP_STATUS_PERMANENT_REDIRECT: number; + const HTTP_STATUS_BAD_REQUEST: number; + const HTTP_STATUS_UNAUTHORIZED: number; + const HTTP_STATUS_PAYMENT_REQUIRED: number; + const HTTP_STATUS_FORBIDDEN: number; + const HTTP_STATUS_NOT_FOUND: number; + const HTTP_STATUS_METHOD_NOT_ALLOWED: number; + const HTTP_STATUS_NOT_ACCEPTABLE: number; + const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number; + const HTTP_STATUS_REQUEST_TIMEOUT: number; + const HTTP_STATUS_CONFLICT: number; + const HTTP_STATUS_GONE: number; + const HTTP_STATUS_LENGTH_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_FAILED: number; + const HTTP_STATUS_PAYLOAD_TOO_LARGE: number; + const HTTP_STATUS_URI_TOO_LONG: number; + const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number; + const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number; + const HTTP_STATUS_EXPECTATION_FAILED: number; + const HTTP_STATUS_TEAPOT: number; + const HTTP_STATUS_MISDIRECTED_REQUEST: number; + const HTTP_STATUS_UNPROCESSABLE_ENTITY: number; + const HTTP_STATUS_LOCKED: number; + const HTTP_STATUS_FAILED_DEPENDENCY: number; + const HTTP_STATUS_UNORDERED_COLLECTION: number; + const HTTP_STATUS_UPGRADE_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_REQUIRED: number; + const HTTP_STATUS_TOO_MANY_REQUESTS: number; + const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number; + const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number; + const HTTP_STATUS_INTERNAL_SERVER_ERROR: number; + const HTTP_STATUS_NOT_IMPLEMENTED: number; + const HTTP_STATUS_BAD_GATEWAY: number; + const HTTP_STATUS_SERVICE_UNAVAILABLE: number; + const HTTP_STATUS_GATEWAY_TIMEOUT: number; + const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number; + const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number; + const HTTP_STATUS_INSUFFICIENT_STORAGE: number; + const HTTP_STATUS_LOOP_DETECTED: number; + const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number; + const HTTP_STATUS_NOT_EXTENDED: number; + const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number; + } + + export function getDefaultSettings(): Settings; + export function getPackedSettings(settings: Settings): Buffer; + export function getUnpackedSettings(buf: Uint8Array): Settings; + + export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + + export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + + export function connect(authority: string | url.URL, listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session; + export function connect( + authority: string | url.URL, + options?: ClientSessionOptions | SecureClientSessionOptions, + listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void, + ): ClientHttp2Session; +} diff --git a/node_modules/@types/node/https.d.ts b/node_modules/@types/node/https.d.ts new file mode 100644 index 0000000..6f33dbd --- /dev/null +++ b/node_modules/@types/node/https.d.ts @@ -0,0 +1,53 @@ +declare module "https" { + import * as tls from "tls"; + import * as events from "events"; + import * as http from "http"; + import { URL } from "url"; + + type ServerOptions = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions; + + type RequestOptions = http.RequestOptions & tls.SecureContextOptions & { + rejectUnauthorized?: boolean; // Defaults to true + servername?: string; // SNI TLS Extension + }; + + interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { + rejectUnauthorized?: boolean; + maxCachedSessions?: number; + } + + class Agent extends http.Agent { + constructor(options?: AgentOptions); + options: AgentOptions; + } + + class Server extends tls.Server { + constructor(requestListener?: http.RequestListener); + constructor(options: ServerOptions, requestListener?: http.RequestListener); + + setTimeout(callback: () => void): this; + setTimeout(msecs?: number, callback?: () => void): this; + /** + * Limits maximum incoming headers count. If set to 0, no limit will be applied. + * @default 2000 + * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} + */ + maxHeadersCount: number | null; + timeout: number; + /** + * Limit the amount of time the parser will wait to receive the complete HTTP headers. + * @default 40000 + * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} + */ + headersTimeout: number; + keepAliveTimeout: number; + } + + function createServer(requestListener?: http.RequestListener): Server; + function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server; + function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + let globalAgent: Agent; +} diff --git a/node_modules/@types/node/index.d.ts b/node_modules/@types/node/index.d.ts new file mode 100644 index 0000000..5733689 --- /dev/null +++ b/node_modules/@types/node/index.d.ts @@ -0,0 +1,101 @@ +// Type definitions for non-npm package Node.js 12.11 +// Project: http://nodejs.org/ +// Definitions by: Microsoft TypeScript +// DefinitelyTyped +// Alberto Schiabel +// Alexander T. +// Alvis HT Tang +// Andrew Makarov +// Benjamin Toueg +// Bruno Scheufler +// Chigozirim C. +// Christian Vaagland Tellnes +// David Junger +// Deividas Bakanas +// Eugene Y. Q. Shen +// Flarna +// Hannes Magnusson +// Hoàng Văn Khải +// Huw +// Kelvin Jin +// Klaus Meinhardt +// Lishude +// Mariusz Wiktorczyk +// Mohsen Azimi +// Nicolas Even +// Nicolas Voigt +// Parambir Singh +// Sebastian Silbermann +// Simon Schick +// Thomas den Hollander +// Wilco Bakker +// wwwy3y3 +// Zane Hannan AU +// Samuel Ainsworth +// Kyle Uehlein +// Jordi Oliveras Rovira +// Thanik Bhongbhibhat +// Marcin Kopacz +// Trivikram Kamat +// Minh Son Nguyen +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// NOTE: These definitions support NodeJS and TypeScript 3.2. + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.1 +// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2 + +// NOTE: Augmentations for TypeScript 3.2 and later should use individual files for overrides +// within the respective ~/ts3.2 (or later) folder. However, this is disallowed for versions +// prior to TypeScript 3.2, so the older definitions will be found here. + +// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: +/// + +// TypeScript 2.1-specific augmentations: + +// Forward-declarations for needed types from es2015 and later (in case users are using `--lib es5`) +// Empty interfaces are used here which merge fine with the real declarations in the lib XXX files +// just to ensure the names are known and node typings can be sued without importing these libs. +// if someone really needs these types the libs need to be added via --lib or in tsconfig.json +interface MapConstructor { } +interface WeakMapConstructor { } +interface SetConstructor { } +interface WeakSetConstructor { } +interface Set {} +interface Map {} +interface ReadonlySet {} +interface Iterable { } +interface IteratorResult { } +interface AsyncIterable { } +interface Iterator { + next(value?: any): IteratorResult; +} +interface IterableIterator { } +interface AsyncIterableIterator {} +interface SymbolConstructor { + readonly iterator: symbol; + readonly asyncIterator: symbol; +} +declare var Symbol: SymbolConstructor; +// even this is just a forward declaration some properties are added otherwise +// it would be allowed to pass anything to e.g. Buffer.from() +interface SharedArrayBuffer { + readonly byteLength: number; + slice(begin?: number, end?: number): SharedArrayBuffer; +} + +declare module "util" { + namespace inspect { + const custom: symbol; + } + namespace promisify { + const custom: symbol; + } + namespace types { + function isBigInt64Array(value: any): boolean; + function isBigUint64Array(value: any): boolean; + } +} diff --git a/node_modules/@types/node/inspector.d.ts b/node_modules/@types/node/inspector.d.ts new file mode 100644 index 0000000..b14aed2 --- /dev/null +++ b/node_modules/@types/node/inspector.d.ts @@ -0,0 +1,3034 @@ +// tslint:disable-next-line:dt-header +// Type definitions for inspector + +// These definitions are auto-generated. +// Please see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19330 +// for more information. + +// tslint:disable:max-line-length + +/** + * The inspector module provides an API for interacting with the V8 inspector. + */ +declare module "inspector" { + import { EventEmitter } from 'events'; + + interface InspectorNotification { + method: string; + params: T; + } + + namespace Schema { + /** + * Description of the protocol domain. + */ + interface Domain { + /** + * Domain name. + */ + name: string; + /** + * Domain version. + */ + version: string; + } + + interface GetDomainsReturnType { + /** + * List of supported domains. + */ + domains: Domain[]; + } + } + + namespace Runtime { + /** + * Unique script identifier. + */ + type ScriptId = string; + + /** + * Unique object identifier. + */ + type RemoteObjectId = string; + + /** + * Primitive value which cannot be JSON-stringified. + */ + type UnserializableValue = string; + + /** + * Mirror object referencing original JavaScript object. + */ + interface RemoteObject { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + /** + * Object class (constructor) name. Specified for object type values only. + */ + className?: string; + /** + * Remote object value in case of primitive values or JSON values (if it was requested). + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified does not have value, but gets this property. + */ + unserializableValue?: UnserializableValue; + /** + * String representation of the object. + */ + description?: string; + /** + * Unique object identifier (for non-primitive values). + */ + objectId?: RemoteObjectId; + /** + * Preview containing abbreviated property values. Specified for object type values only. + * @experimental + */ + preview?: ObjectPreview; + /** + * @experimental + */ + customPreview?: CustomPreview; + } + + /** + * @experimental + */ + interface CustomPreview { + header: string; + hasBody: boolean; + formatterObjectId: RemoteObjectId; + bindRemoteObjectFunctionId: RemoteObjectId; + configObjectId?: RemoteObjectId; + } + + /** + * Object containing abbreviated remote object value. + * @experimental + */ + interface ObjectPreview { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + /** + * String representation of the object. + */ + description?: string; + /** + * True iff some of the properties or entries of the original object did not fit. + */ + overflow: boolean; + /** + * List of the properties. + */ + properties: PropertyPreview[]; + /** + * List of the entries. Specified for map and set subtype values only. + */ + entries?: EntryPreview[]; + } + + /** + * @experimental + */ + interface PropertyPreview { + /** + * Property name. + */ + name: string; + /** + * Object type. Accessor means that the property itself is an accessor property. + */ + type: string; + /** + * User-friendly property value string. + */ + value?: string; + /** + * Nested value preview. + */ + valuePreview?: ObjectPreview; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + } + + /** + * @experimental + */ + interface EntryPreview { + /** + * Preview of the key. Specified for map-like collection entries. + */ + key?: ObjectPreview; + /** + * Preview of the value. + */ + value: ObjectPreview; + } + + /** + * Object property descriptor. + */ + interface PropertyDescriptor { + /** + * Property name or symbol description. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + /** + * True if the value associated with the property may be changed (data descriptors only). + */ + writable?: boolean; + /** + * A function which serves as a getter for the property, or undefined if there is no getter (accessor descriptors only). + */ + get?: RemoteObject; + /** + * A function which serves as a setter for the property, or undefined if there is no setter (accessor descriptors only). + */ + set?: RemoteObject; + /** + * True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object. + */ + configurable: boolean; + /** + * True if this property shows up during enumeration of the properties on the corresponding object. + */ + enumerable: boolean; + /** + * True if the result was thrown during the evaluation. + */ + wasThrown?: boolean; + /** + * True if the property is owned for the object. + */ + isOwn?: boolean; + /** + * Property symbol object, if the property is of the symbol type. + */ + symbol?: RemoteObject; + } + + /** + * Object internal property descriptor. This property isn't normally visible in JavaScript code. + */ + interface InternalPropertyDescriptor { + /** + * Conventional property name. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + } + + /** + * Represents function call argument. Either remote object id objectId, primitive value, unserializable primitive value or neither of (for undefined) them should be specified. + */ + interface CallArgument { + /** + * Primitive value or serializable javascript object. + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified. + */ + unserializableValue?: UnserializableValue; + /** + * Remote object handle. + */ + objectId?: RemoteObjectId; + } + + /** + * Id of an execution context. + */ + type ExecutionContextId = number; + + /** + * Description of an isolated world. + */ + interface ExecutionContextDescription { + /** + * Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed. + */ + id: ExecutionContextId; + /** + * Execution context origin. + */ + origin: string; + /** + * Human readable name describing given context. + */ + name: string; + /** + * Embedder-specific auxiliary data. + */ + auxData?: {}; + } + + /** + * Detailed information about exception (or error) that was thrown during script compilation or execution. + */ + interface ExceptionDetails { + /** + * Exception id. + */ + exceptionId: number; + /** + * Exception text, which should be used together with exception object when available. + */ + text: string; + /** + * Line number of the exception location (0-based). + */ + lineNumber: number; + /** + * Column number of the exception location (0-based). + */ + columnNumber: number; + /** + * Script ID of the exception location. + */ + scriptId?: ScriptId; + /** + * URL of the exception location, to be used when the script was not reported. + */ + url?: string; + /** + * JavaScript stack trace if available. + */ + stackTrace?: StackTrace; + /** + * Exception object if available. + */ + exception?: RemoteObject; + /** + * Identifier of the context where exception happened. + */ + executionContextId?: ExecutionContextId; + } + + /** + * Number of milliseconds since epoch. + */ + type Timestamp = number; + + /** + * Stack entry for runtime errors and assertions. + */ + interface CallFrame { + /** + * JavaScript function name. + */ + functionName: string; + /** + * JavaScript script id. + */ + scriptId: ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * JavaScript script line number (0-based). + */ + lineNumber: number; + /** + * JavaScript script column number (0-based). + */ + columnNumber: number; + } + + /** + * Call frames for assertions or error messages. + */ + interface StackTrace { + /** + * String label of this stack trace. For async traces this may be a name of the function that initiated the async call. + */ + description?: string; + /** + * JavaScript function name. + */ + callFrames: CallFrame[]; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + */ + parent?: StackTrace; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + * @experimental + */ + parentId?: StackTraceId; + } + + /** + * Unique identifier of current debugger. + * @experimental + */ + type UniqueDebuggerId = string; + + /** + * If debuggerId is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See Runtime.StackTrace and Debugger.paused for usages. + * @experimental + */ + interface StackTraceId { + id: string; + debuggerId?: UniqueDebuggerId; + } + + interface EvaluateParameterType { + /** + * Expression to evaluate. + */ + expression: string; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Specifies in which execution context to perform evaluation. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + contextId?: ExecutionContextId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + } + + interface AwaitPromiseParameterType { + /** + * Identifier of the promise. + */ + promiseObjectId: RemoteObjectId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + } + + interface CallFunctionOnParameterType { + /** + * Declaration of the function to call. + */ + functionDeclaration: string; + /** + * Identifier of the object to call function on. Either objectId or executionContextId should be specified. + */ + objectId?: RemoteObjectId; + /** + * Call arguments. All call arguments must belong to the same JavaScript world as the target object. + */ + arguments?: CallArgument[]; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + /** + * Specifies execution context which global object will be used to call function on. Either executionContextId or objectId should be specified. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. If objectGroup is not specified and objectId is, objectGroup will be inherited from object. + */ + objectGroup?: string; + } + + interface GetPropertiesParameterType { + /** + * Identifier of the object to return properties for. + */ + objectId: RemoteObjectId; + /** + * If true, returns properties belonging only to the element itself, not to its prototype chain. + */ + ownProperties?: boolean; + /** + * If true, returns accessor properties (with getter/setter) only; internal properties are not returned either. + * @experimental + */ + accessorPropertiesOnly?: boolean; + /** + * Whether preview should be generated for the results. + * @experimental + */ + generatePreview?: boolean; + } + + interface ReleaseObjectParameterType { + /** + * Identifier of the object to release. + */ + objectId: RemoteObjectId; + } + + interface ReleaseObjectGroupParameterType { + /** + * Symbolic object group name. + */ + objectGroup: string; + } + + interface SetCustomObjectFormatterEnabledParameterType { + enabled: boolean; + } + + interface CompileScriptParameterType { + /** + * Expression to compile. + */ + expression: string; + /** + * Source url to be set for the script. + */ + sourceURL: string; + /** + * Specifies whether the compiled script should be persisted. + */ + persistScript: boolean; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + } + + interface RunScriptParameterType { + /** + * Id of the script to run. + */ + scriptId: ScriptId; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + } + + interface QueryObjectsParameterType { + /** + * Identifier of the prototype to return objects for. + */ + prototypeObjectId: RemoteObjectId; + } + + interface GlobalLexicalScopeNamesParameterType { + /** + * Specifies in which execution context to lookup global scope variables. + */ + executionContextId?: ExecutionContextId; + } + + interface EvaluateReturnType { + /** + * Evaluation result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface AwaitPromiseReturnType { + /** + * Promise result. Will contain rejected value if promise was rejected. + */ + result: RemoteObject; + /** + * Exception details if stack strace is available. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CallFunctionOnReturnType { + /** + * Call result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface GetPropertiesReturnType { + /** + * Object properties. + */ + result: PropertyDescriptor[]; + /** + * Internal object properties (only of the element itself). + */ + internalProperties?: InternalPropertyDescriptor[]; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CompileScriptReturnType { + /** + * Id of the script. + */ + scriptId?: ScriptId; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface RunScriptReturnType { + /** + * Run result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface QueryObjectsReturnType { + /** + * Array with objects. + */ + objects: RemoteObject; + } + + interface GlobalLexicalScopeNamesReturnType { + names: string[]; + } + + interface ExecutionContextCreatedEventDataType { + /** + * A newly created execution context. + */ + context: ExecutionContextDescription; + } + + interface ExecutionContextDestroyedEventDataType { + /** + * Id of the destroyed context + */ + executionContextId: ExecutionContextId; + } + + interface ExceptionThrownEventDataType { + /** + * Timestamp of the exception. + */ + timestamp: Timestamp; + exceptionDetails: ExceptionDetails; + } + + interface ExceptionRevokedEventDataType { + /** + * Reason describing why exception was revoked. + */ + reason: string; + /** + * The id of revoked exception, as reported in exceptionThrown. + */ + exceptionId: number; + } + + interface ConsoleAPICalledEventDataType { + /** + * Type of the call. + */ + type: string; + /** + * Call arguments. + */ + args: RemoteObject[]; + /** + * Identifier of the context where the call was made. + */ + executionContextId: ExecutionContextId; + /** + * Call timestamp. + */ + timestamp: Timestamp; + /** + * Stack trace captured when the call was made. + */ + stackTrace?: StackTrace; + /** + * Console context descriptor for calls on non-default console context (not console.*): 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call on named context. + * @experimental + */ + context?: string; + } + + interface InspectRequestedEventDataType { + object: RemoteObject; + hints: {}; + } + } + + namespace Debugger { + /** + * Breakpoint identifier. + */ + type BreakpointId = string; + + /** + * Call frame identifier. + */ + type CallFrameId = string; + + /** + * Location in the source code. + */ + interface Location { + /** + * Script identifier as reported in the Debugger.scriptParsed. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + } + + /** + * Location in the source code. + * @experimental + */ + interface ScriptPosition { + lineNumber: number; + columnNumber: number; + } + + /** + * JavaScript call frame. Array of call frames form the call stack. + */ + interface CallFrame { + /** + * Call frame identifier. This identifier is only valid while the virtual machine is paused. + */ + callFrameId: CallFrameId; + /** + * Name of the JavaScript function called on this call frame. + */ + functionName: string; + /** + * Location in the source code. + */ + functionLocation?: Location; + /** + * Location in the source code. + */ + location: Location; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Scope chain for this call frame. + */ + scopeChain: Scope[]; + /** + * this object for this call frame. + */ + this: Runtime.RemoteObject; + /** + * The value being returned, if the function is at return point. + */ + returnValue?: Runtime.RemoteObject; + } + + /** + * Scope description. + */ + interface Scope { + /** + * Scope type. + */ + type: string; + /** + * Object representing the scope. For global and with scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties. + */ + object: Runtime.RemoteObject; + name?: string; + /** + * Location in the source code where scope starts + */ + startLocation?: Location; + /** + * Location in the source code where scope ends + */ + endLocation?: Location; + } + + /** + * Search match for resource. + */ + interface SearchMatch { + /** + * Line number in resource content. + */ + lineNumber: number; + /** + * Line with match content. + */ + lineContent: string; + } + + interface BreakLocation { + /** + * Script identifier as reported in the Debugger.scriptParsed. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + type?: string; + } + + interface SetBreakpointsActiveParameterType { + /** + * New value for breakpoints active state. + */ + active: boolean; + } + + interface SetSkipAllPausesParameterType { + /** + * New value for skip pauses state. + */ + skip: boolean; + } + + interface SetBreakpointByUrlParameterType { + /** + * Line number to set breakpoint at. + */ + lineNumber: number; + /** + * URL of the resources to set breakpoint on. + */ + url?: string; + /** + * Regex pattern for the URLs of the resources to set breakpoints on. Either url or urlRegex must be specified. + */ + urlRegex?: string; + /** + * Script hash of the resources to set breakpoint on. + */ + scriptHash?: string; + /** + * Offset in the line to set breakpoint at. + */ + columnNumber?: number; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface SetBreakpointParameterType { + /** + * Location to set breakpoint in. + */ + location: Location; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface RemoveBreakpointParameterType { + breakpointId: BreakpointId; + } + + interface GetPossibleBreakpointsParameterType { + /** + * Start of range to search possible breakpoint locations in. + */ + start: Location; + /** + * End of range to search possible breakpoint locations in (excluding). When not specified, end of scripts is used as end of range. + */ + end?: Location; + /** + * Only consider locations which are in the same (non-nested) function as start. + */ + restrictToFunction?: boolean; + } + + interface ContinueToLocationParameterType { + /** + * Location to continue to. + */ + location: Location; + targetCallFrames?: string; + } + + interface PauseOnAsyncCallParameterType { + /** + * Debugger will pause when async call with given stack trace is started. + */ + parentStackTraceId: Runtime.StackTraceId; + } + + interface StepIntoParameterType { + /** + * Debugger will issue additional Debugger.paused notification if any async task is scheduled before next pause. + * @experimental + */ + breakOnAsyncCall?: boolean; + } + + interface GetStackTraceParameterType { + stackTraceId: Runtime.StackTraceId; + } + + interface SearchInContentParameterType { + /** + * Id of the script to search in. + */ + scriptId: Runtime.ScriptId; + /** + * String to search for. + */ + query: string; + /** + * If true, search is case sensitive. + */ + caseSensitive?: boolean; + /** + * If true, treats string parameter as regex. + */ + isRegex?: boolean; + } + + interface SetScriptSourceParameterType { + /** + * Id of the script to edit. + */ + scriptId: Runtime.ScriptId; + /** + * New content of the script. + */ + scriptSource: string; + /** + * If true the change will not actually be applied. Dry run may be used to get result description without actually modifying the code. + */ + dryRun?: boolean; + } + + interface RestartFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + } + + interface GetScriptSourceParameterType { + /** + * Id of the script to get source for. + */ + scriptId: Runtime.ScriptId; + } + + interface SetPauseOnExceptionsParameterType { + /** + * Pause on exceptions mode. + */ + state: string; + } + + interface EvaluateOnCallFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + /** + * Expression to evaluate. + */ + expression: string; + /** + * String object group name to put result into (allows rapid releasing resulting object handles using releaseObjectGroup). + */ + objectGroup?: string; + /** + * Specifies whether command line API should be available to the evaluated expression, defaults to false. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether to throw an exception if side effect cannot be ruled out during evaluation. + */ + throwOnSideEffect?: boolean; + } + + interface SetVariableValueParameterType { + /** + * 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually. + */ + scopeNumber: number; + /** + * Variable name. + */ + variableName: string; + /** + * New variable value. + */ + newValue: Runtime.CallArgument; + /** + * Id of callframe that holds variable. + */ + callFrameId: CallFrameId; + } + + interface SetReturnValueParameterType { + /** + * New return value. + */ + newValue: Runtime.CallArgument; + } + + interface SetAsyncCallStackDepthParameterType { + /** + * Maximum depth of async call stacks. Setting to 0 will effectively disable collecting async call stacks (default). + */ + maxDepth: number; + } + + interface SetBlackboxPatternsParameterType { + /** + * Array of regexps that will be used to check script url for blackbox state. + */ + patterns: string[]; + } + + interface SetBlackboxedRangesParameterType { + /** + * Id of the script. + */ + scriptId: Runtime.ScriptId; + positions: ScriptPosition[]; + } + + interface EnableReturnType { + /** + * Unique identifier of the debugger. + * @experimental + */ + debuggerId: Runtime.UniqueDebuggerId; + } + + interface SetBreakpointByUrlReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * List of the locations this breakpoint resolved into upon addition. + */ + locations: Location[]; + } + + interface SetBreakpointReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * Location this breakpoint resolved into. + */ + actualLocation: Location; + } + + interface GetPossibleBreakpointsReturnType { + /** + * List of the possible breakpoint locations. + */ + locations: BreakLocation[]; + } + + interface GetStackTraceReturnType { + stackTrace: Runtime.StackTrace; + } + + interface SearchInContentReturnType { + /** + * List of search matches. + */ + result: SearchMatch[]; + } + + interface SetScriptSourceReturnType { + /** + * New stack trace in case editing has happened while VM was stopped. + */ + callFrames?: CallFrame[]; + /** + * Whether current call stack was modified after applying the changes. + */ + stackChanged?: boolean; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Exception details if any. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface RestartFrameReturnType { + /** + * New stack trace. + */ + callFrames: CallFrame[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + } + + interface GetScriptSourceReturnType { + /** + * Script source. + */ + scriptSource: string; + } + + interface EvaluateOnCallFrameReturnType { + /** + * Object wrapper for the evaluation result. + */ + result: Runtime.RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface ScriptParsedEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * True, if this script is generated as a result of the live edit operation. + * @experimental + */ + isLiveEdit?: boolean; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + + interface ScriptFailedToParseEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + + interface BreakpointResolvedEventDataType { + /** + * Breakpoint unique identifier. + */ + breakpointId: BreakpointId; + /** + * Actual breakpoint location. + */ + location: Location; + } + + interface PausedEventDataType { + /** + * Call stack the virtual machine stopped on. + */ + callFrames: CallFrame[]; + /** + * Pause reason. + */ + reason: string; + /** + * Object containing break-specific auxiliary properties. + */ + data?: {}; + /** + * Hit breakpoints IDs + */ + hitBreakpoints?: string[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Just scheduled async call will have this stack trace as parent stack during async execution. This field is available only after Debugger.stepInto call with breakOnAsynCall flag. + * @experimental + */ + asyncCallStackTraceId?: Runtime.StackTraceId; + } + } + + namespace Console { + /** + * Console message. + */ + interface ConsoleMessage { + /** + * Message source. + */ + source: string; + /** + * Message severity. + */ + level: string; + /** + * Message text. + */ + text: string; + /** + * URL of the message origin. + */ + url?: string; + /** + * Line number in the resource that generated this message (1-based). + */ + line?: number; + /** + * Column number in the resource that generated this message (1-based). + */ + column?: number; + } + + interface MessageAddedEventDataType { + /** + * Console message that has been added. + */ + message: ConsoleMessage; + } + } + + namespace Profiler { + /** + * Profile node. Holds callsite information, execution statistics and child nodes. + */ + interface ProfileNode { + /** + * Unique id of the node. + */ + id: number; + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Number of samples where this node was on top of the call stack. + */ + hitCount?: number; + /** + * Child node ids. + */ + children?: number[]; + /** + * The reason of being not optimized. The function may be deoptimized or marked as don't optimize. + */ + deoptReason?: string; + /** + * An array of source position ticks. + */ + positionTicks?: PositionTickInfo[]; + } + + /** + * Profile. + */ + interface Profile { + /** + * The list of profile nodes. First item is the root node. + */ + nodes: ProfileNode[]; + /** + * Profiling start timestamp in microseconds. + */ + startTime: number; + /** + * Profiling end timestamp in microseconds. + */ + endTime: number; + /** + * Ids of samples top nodes. + */ + samples?: number[]; + /** + * Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime. + */ + timeDeltas?: number[]; + } + + /** + * Specifies a number of samples attributed to a certain source position. + */ + interface PositionTickInfo { + /** + * Source line number (1-based). + */ + line: number; + /** + * Number of samples attributed to the source line. + */ + ticks: number; + } + + /** + * Coverage data for a source range. + */ + interface CoverageRange { + /** + * JavaScript script source offset for the range start. + */ + startOffset: number; + /** + * JavaScript script source offset for the range end. + */ + endOffset: number; + /** + * Collected execution count of the source range. + */ + count: number; + } + + /** + * Coverage data for a JavaScript function. + */ + interface FunctionCoverage { + /** + * JavaScript function name. + */ + functionName: string; + /** + * Source ranges inside the function with coverage data. + */ + ranges: CoverageRange[]; + /** + * Whether coverage data for this function has block granularity. + */ + isBlockCoverage: boolean; + } + + /** + * Coverage data for a JavaScript script. + */ + interface ScriptCoverage { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Functions contained in the script that has coverage data. + */ + functions: FunctionCoverage[]; + } + + /** + * Describes a type collected during runtime. + * @experimental + */ + interface TypeObject { + /** + * Name of a type collected with type profiling. + */ + name: string; + } + + /** + * Source offset and types for a parameter or return value. + * @experimental + */ + interface TypeProfileEntry { + /** + * Source offset of the parameter or end of function for return values. + */ + offset: number; + /** + * The types for this parameter or return value. + */ + types: TypeObject[]; + } + + /** + * Type profile data collected during runtime for a JavaScript script. + * @experimental + */ + interface ScriptTypeProfile { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Type profile entries for parameters and return values of the functions in the script. + */ + entries: TypeProfileEntry[]; + } + + interface SetSamplingIntervalParameterType { + /** + * New sampling interval in microseconds. + */ + interval: number; + } + + interface StartPreciseCoverageParameterType { + /** + * Collect accurate call counts beyond simple 'covered' or 'not covered'. + */ + callCount?: boolean; + /** + * Collect block-based coverage. + */ + detailed?: boolean; + } + + interface StopReturnType { + /** + * Recorded profile. + */ + profile: Profile; + } + + interface TakePreciseCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface GetBestEffortCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface TakeTypeProfileReturnType { + /** + * Type profile for all scripts since startTypeProfile() was turned on. + */ + result: ScriptTypeProfile[]; + } + + interface ConsoleProfileStartedEventDataType { + id: string; + /** + * Location of console.profile(). + */ + location: Debugger.Location; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + + interface ConsoleProfileFinishedEventDataType { + id: string; + /** + * Location of console.profileEnd(). + */ + location: Debugger.Location; + profile: Profile; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + } + + namespace HeapProfiler { + /** + * Heap snapshot object id. + */ + type HeapSnapshotObjectId = string; + + /** + * Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. + */ + interface SamplingHeapProfileNode { + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Allocations size in bytes for the node excluding children. + */ + selfSize: number; + /** + * Child nodes. + */ + children: SamplingHeapProfileNode[]; + } + + /** + * Profile. + */ + interface SamplingHeapProfile { + head: SamplingHeapProfileNode; + } + + interface StartTrackingHeapObjectsParameterType { + trackAllocations?: boolean; + } + + interface StopTrackingHeapObjectsParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped. + */ + reportProgress?: boolean; + } + + interface TakeHeapSnapshotParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. + */ + reportProgress?: boolean; + } + + interface GetObjectByHeapObjectIdParameterType { + objectId: HeapSnapshotObjectId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + } + + interface AddInspectedHeapObjectParameterType { + /** + * Heap snapshot object id to be accessible by means of $x command line API. + */ + heapObjectId: HeapSnapshotObjectId; + } + + interface GetHeapObjectIdParameterType { + /** + * Identifier of the object to get heap object id for. + */ + objectId: Runtime.RemoteObjectId; + } + + interface StartSamplingParameterType { + /** + * Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes. + */ + samplingInterval?: number; + } + + interface GetObjectByHeapObjectIdReturnType { + /** + * Evaluation result. + */ + result: Runtime.RemoteObject; + } + + interface GetHeapObjectIdReturnType { + /** + * Id of the heap snapshot object corresponding to the passed remote object id. + */ + heapSnapshotObjectId: HeapSnapshotObjectId; + } + + interface StopSamplingReturnType { + /** + * Recorded sampling heap profile. + */ + profile: SamplingHeapProfile; + } + + interface GetSamplingProfileReturnType { + /** + * Return the sampling profile being collected. + */ + profile: SamplingHeapProfile; + } + + interface AddHeapSnapshotChunkEventDataType { + chunk: string; + } + + interface ReportHeapSnapshotProgressEventDataType { + done: number; + total: number; + finished?: boolean; + } + + interface LastSeenObjectIdEventDataType { + lastSeenObjectId: number; + timestamp: number; + } + + interface HeapStatsUpdateEventDataType { + /** + * An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment. + */ + statsUpdate: number[]; + } + } + + namespace NodeTracing { + interface TraceConfig { + /** + * Controls how the trace buffer stores data. + */ + recordMode?: string; + /** + * Included category filters. + */ + includedCategories: string[]; + } + + interface StartParameterType { + traceConfig: TraceConfig; + } + + interface GetCategoriesReturnType { + /** + * A list of supported tracing categories. + */ + categories: string[]; + } + + interface DataCollectedEventDataType { + value: Array<{}>; + } + } + + namespace NodeWorker { + type WorkerID = string; + + /** + * Unique identifier of attached debugging session. + */ + type SessionID = string; + + interface WorkerInfo { + workerId: WorkerID; + type: string; + title: string; + url: string; + } + + interface SendMessageToWorkerParameterType { + message: string; + /** + * Identifier of the session. + */ + sessionId: SessionID; + } + + interface EnableParameterType { + /** + * Whether to new workers should be paused until the frontend sends `Runtime.runIfWaitingForDebugger` + * message to run them. + */ + waitForDebuggerOnStart: boolean; + } + + interface DetachParameterType { + sessionId: SessionID; + } + + interface AttachedToWorkerEventDataType { + /** + * Identifier assigned to the session used to send/receive messages. + */ + sessionId: SessionID; + workerInfo: WorkerInfo; + waitingForDebugger: boolean; + } + + interface DetachedFromWorkerEventDataType { + /** + * Detached session identifier. + */ + sessionId: SessionID; + } + + interface ReceivedMessageFromWorkerEventDataType { + /** + * Identifier of a session which sends a message. + */ + sessionId: SessionID; + message: string; + } + } + + namespace NodeRuntime { + interface NotifyWhenWaitingForDisconnectParameterType { + enabled: boolean; + } + } + + /** + * The inspector.Session is used for dispatching messages to the V8 inspector back-end and receiving message responses and notifications. + */ + class Session extends EventEmitter { + /** + * Create a new instance of the inspector.Session class. + * The inspector session needs to be connected through session.connect() before the messages can be dispatched to the inspector backend. + */ + constructor(); + + /** + * Connects a session to the inspector back-end. + * An exception will be thrown if there is already a connected session established either + * through the API or by a front-end connected to the Inspector WebSocket port. + */ + connect(): void; + + /** + * Immediately close the session. All pending message callbacks will be called with an error. + * session.connect() will need to be called to be able to send messages again. + * Reconnected session will lose all inspector state, such as enabled agents or configured breakpoints. + */ + disconnect(): void; + + /** + * Posts a message to the inspector back-end. callback will be notified when a response is received. + * callback is a function that accepts two optional arguments - error and message-specific result. + */ + post(method: string, params?: {}, callback?: (err: Error | null, params?: {}) => void): void; + post(method: string, callback?: (err: Error | null, params?: {}) => void): void; + + /** + * Returns supported domains. + */ + post(method: "Schema.getDomains", callback?: (err: Error | null, params: Schema.GetDomainsReturnType) => void): void; + + /** + * Evaluates expression on global object. + */ + post(method: "Runtime.evaluate", params?: Runtime.EvaluateParameterType, callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + post(method: "Runtime.evaluate", callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + + /** + * Add handler to promise with given promise object id. + */ + post(method: "Runtime.awaitPromise", params?: Runtime.AwaitPromiseParameterType, callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + post(method: "Runtime.awaitPromise", callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + + /** + * Calls function with given declaration on the given object. Object group of the result is inherited from the target object. + */ + post(method: "Runtime.callFunctionOn", params?: Runtime.CallFunctionOnParameterType, callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + post(method: "Runtime.callFunctionOn", callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + + /** + * Returns properties of a given object. Object group of the result is inherited from the target object. + */ + post(method: "Runtime.getProperties", params?: Runtime.GetPropertiesParameterType, callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + post(method: "Runtime.getProperties", callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + + /** + * Releases remote object with given id. + */ + post(method: "Runtime.releaseObject", params?: Runtime.ReleaseObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObject", callback?: (err: Error | null) => void): void; + + /** + * Releases all remote objects that belong to a given group. + */ + post(method: "Runtime.releaseObjectGroup", params?: Runtime.ReleaseObjectGroupParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObjectGroup", callback?: (err: Error | null) => void): void; + + /** + * Tells inspected instance to run if it was waiting for debugger to attach. + */ + post(method: "Runtime.runIfWaitingForDebugger", callback?: (err: Error | null) => void): void; + + /** + * Enables reporting of execution contexts creation by means of executionContextCreated event. When the reporting gets enabled the event will be sent immediately for each existing execution context. + */ + post(method: "Runtime.enable", callback?: (err: Error | null) => void): void; + + /** + * Disables reporting of execution contexts creation. + */ + post(method: "Runtime.disable", callback?: (err: Error | null) => void): void; + + /** + * Discards collected exceptions and console API calls. + */ + post(method: "Runtime.discardConsoleEntries", callback?: (err: Error | null) => void): void; + + /** + * @experimental + */ + post(method: "Runtime.setCustomObjectFormatterEnabled", params?: Runtime.SetCustomObjectFormatterEnabledParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.setCustomObjectFormatterEnabled", callback?: (err: Error | null) => void): void; + + /** + * Compiles expression. + */ + post(method: "Runtime.compileScript", params?: Runtime.CompileScriptParameterType, callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + post(method: "Runtime.compileScript", callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + + /** + * Runs script with given id in a given context. + */ + post(method: "Runtime.runScript", params?: Runtime.RunScriptParameterType, callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + post(method: "Runtime.runScript", callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + + post(method: "Runtime.queryObjects", params?: Runtime.QueryObjectsParameterType, callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + post(method: "Runtime.queryObjects", callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + + /** + * Returns all let, const and class variables from global scope. + */ + post( + method: "Runtime.globalLexicalScopeNames", + params?: Runtime.GlobalLexicalScopeNamesParameterType, + callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void + ): void; + post(method: "Runtime.globalLexicalScopeNames", callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void): void; + + /** + * Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received. + */ + post(method: "Debugger.enable", callback?: (err: Error | null, params: Debugger.EnableReturnType) => void): void; + + /** + * Disables debugger for given page. + */ + post(method: "Debugger.disable", callback?: (err: Error | null) => void): void; + + /** + * Activates / deactivates all breakpoints on the page. + */ + post(method: "Debugger.setBreakpointsActive", params?: Debugger.SetBreakpointsActiveParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBreakpointsActive", callback?: (err: Error | null) => void): void; + + /** + * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). + */ + post(method: "Debugger.setSkipAllPauses", params?: Debugger.SetSkipAllPausesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setSkipAllPauses", callback?: (err: Error | null) => void): void; + + /** + * Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in locations property. Further matching script parsing will result in subsequent breakpointResolved events issued. This logical breakpoint will survive page reloads. + */ + post(method: "Debugger.setBreakpointByUrl", params?: Debugger.SetBreakpointByUrlParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + post(method: "Debugger.setBreakpointByUrl", callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + + /** + * Sets JavaScript breakpoint at a given location. + */ + post(method: "Debugger.setBreakpoint", params?: Debugger.SetBreakpointParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + post(method: "Debugger.setBreakpoint", callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + + /** + * Removes JavaScript breakpoint. + */ + post(method: "Debugger.removeBreakpoint", params?: Debugger.RemoveBreakpointParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.removeBreakpoint", callback?: (err: Error | null) => void): void; + + /** + * Returns possible locations for breakpoint. scriptId in start and end range locations should be the same. + */ + post( + method: "Debugger.getPossibleBreakpoints", + params?: Debugger.GetPossibleBreakpointsParameterType, + callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void + ): void; + post(method: "Debugger.getPossibleBreakpoints", callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void): void; + + /** + * Continues execution until specific location is reached. + */ + post(method: "Debugger.continueToLocation", params?: Debugger.ContinueToLocationParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.continueToLocation", callback?: (err: Error | null) => void): void; + + /** + * @experimental + */ + post(method: "Debugger.pauseOnAsyncCall", params?: Debugger.PauseOnAsyncCallParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.pauseOnAsyncCall", callback?: (err: Error | null) => void): void; + + /** + * Steps over the statement. + */ + post(method: "Debugger.stepOver", callback?: (err: Error | null) => void): void; + + /** + * Steps into the function call. + */ + post(method: "Debugger.stepInto", params?: Debugger.StepIntoParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.stepInto", callback?: (err: Error | null) => void): void; + + /** + * Steps out of the function call. + */ + post(method: "Debugger.stepOut", callback?: (err: Error | null) => void): void; + + /** + * Stops on the next JavaScript statement. + */ + post(method: "Debugger.pause", callback?: (err: Error | null) => void): void; + + /** + * This method is deprecated - use Debugger.stepInto with breakOnAsyncCall and Debugger.pauseOnAsyncTask instead. Steps into next scheduled async task if any is scheduled before next pause. Returns success when async task is actually scheduled, returns error if no task were scheduled or another scheduleStepIntoAsync was called. + * @experimental + */ + post(method: "Debugger.scheduleStepIntoAsync", callback?: (err: Error | null) => void): void; + + /** + * Resumes JavaScript execution. + */ + post(method: "Debugger.resume", callback?: (err: Error | null) => void): void; + + /** + * Returns stack trace with given stackTraceId. + * @experimental + */ + post(method: "Debugger.getStackTrace", params?: Debugger.GetStackTraceParameterType, callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + post(method: "Debugger.getStackTrace", callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + + /** + * Searches for given string in script content. + */ + post(method: "Debugger.searchInContent", params?: Debugger.SearchInContentParameterType, callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + post(method: "Debugger.searchInContent", callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + + /** + * Edits JavaScript source live. + */ + post(method: "Debugger.setScriptSource", params?: Debugger.SetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + post(method: "Debugger.setScriptSource", callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + + /** + * Restarts particular call frame from the beginning. + */ + post(method: "Debugger.restartFrame", params?: Debugger.RestartFrameParameterType, callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + post(method: "Debugger.restartFrame", callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + + /** + * Returns source for the script with given id. + */ + post(method: "Debugger.getScriptSource", params?: Debugger.GetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + post(method: "Debugger.getScriptSource", callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + + /** + * Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is none. + */ + post(method: "Debugger.setPauseOnExceptions", params?: Debugger.SetPauseOnExceptionsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setPauseOnExceptions", callback?: (err: Error | null) => void): void; + + /** + * Evaluates expression on a given call frame. + */ + post(method: "Debugger.evaluateOnCallFrame", params?: Debugger.EvaluateOnCallFrameParameterType, callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + post(method: "Debugger.evaluateOnCallFrame", callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + + /** + * Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually. + */ + post(method: "Debugger.setVariableValue", params?: Debugger.SetVariableValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setVariableValue", callback?: (err: Error | null) => void): void; + + /** + * Changes return value in top frame. Available only at return break position. + * @experimental + */ + post(method: "Debugger.setReturnValue", params?: Debugger.SetReturnValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setReturnValue", callback?: (err: Error | null) => void): void; + + /** + * Enables or disables async call stacks tracking. + */ + post(method: "Debugger.setAsyncCallStackDepth", params?: Debugger.SetAsyncCallStackDepthParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setAsyncCallStackDepth", callback?: (err: Error | null) => void): void; + + /** + * Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. + * @experimental + */ + post(method: "Debugger.setBlackboxPatterns", params?: Debugger.SetBlackboxPatternsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxPatterns", callback?: (err: Error | null) => void): void; + + /** + * Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted. + * @experimental + */ + post(method: "Debugger.setBlackboxedRanges", params?: Debugger.SetBlackboxedRangesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxedRanges", callback?: (err: Error | null) => void): void; + + /** + * Enables console domain, sends the messages collected so far to the client by means of the messageAdded notification. + */ + post(method: "Console.enable", callback?: (err: Error | null) => void): void; + + /** + * Disables console domain, prevents further console messages from being reported to the client. + */ + post(method: "Console.disable", callback?: (err: Error | null) => void): void; + + /** + * Does nothing. + */ + post(method: "Console.clearMessages", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.enable", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.disable", callback?: (err: Error | null) => void): void; + + /** + * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. + */ + post(method: "Profiler.setSamplingInterval", params?: Profiler.SetSamplingIntervalParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.setSamplingInterval", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.start", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.stop", callback?: (err: Error | null, params: Profiler.StopReturnType) => void): void; + + /** + * Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters. + */ + post(method: "Profiler.startPreciseCoverage", params?: Profiler.StartPreciseCoverageParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.startPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code. + */ + post(method: "Profiler.stopPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started. + */ + post(method: "Profiler.takePreciseCoverage", callback?: (err: Error | null, params: Profiler.TakePreciseCoverageReturnType) => void): void; + + /** + * Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection. + */ + post(method: "Profiler.getBestEffortCoverage", callback?: (err: Error | null, params: Profiler.GetBestEffortCoverageReturnType) => void): void; + + /** + * Enable type profile. + * @experimental + */ + post(method: "Profiler.startTypeProfile", callback?: (err: Error | null) => void): void; + + /** + * Disable type profile. Disabling releases type profile data collected so far. + * @experimental + */ + post(method: "Profiler.stopTypeProfile", callback?: (err: Error | null) => void): void; + + /** + * Collect type profile. + * @experimental + */ + post(method: "Profiler.takeTypeProfile", callback?: (err: Error | null, params: Profiler.TakeTypeProfileReturnType) => void): void; + + post(method: "HeapProfiler.enable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.disable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.startTrackingHeapObjects", params?: HeapProfiler.StartTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.stopTrackingHeapObjects", params?: HeapProfiler.StopTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.stopTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.takeHeapSnapshot", params?: HeapProfiler.TakeHeapSnapshotParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.takeHeapSnapshot", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.collectGarbage", callback?: (err: Error | null) => void): void; + + post( + method: "HeapProfiler.getObjectByHeapObjectId", + params?: HeapProfiler.GetObjectByHeapObjectIdParameterType, + callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void + ): void; + post(method: "HeapProfiler.getObjectByHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void): void; + + /** + * Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions). + */ + post(method: "HeapProfiler.addInspectedHeapObject", params?: HeapProfiler.AddInspectedHeapObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.addInspectedHeapObject", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.getHeapObjectId", params?: HeapProfiler.GetHeapObjectIdParameterType, callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + post(method: "HeapProfiler.getHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + + post(method: "HeapProfiler.startSampling", params?: HeapProfiler.StartSamplingParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startSampling", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.stopSampling", callback?: (err: Error | null, params: HeapProfiler.StopSamplingReturnType) => void): void; + + post(method: "HeapProfiler.getSamplingProfile", callback?: (err: Error | null, params: HeapProfiler.GetSamplingProfileReturnType) => void): void; + + /** + * Gets supported tracing categories. + */ + post(method: "NodeTracing.getCategories", callback?: (err: Error | null, params: NodeTracing.GetCategoriesReturnType) => void): void; + + /** + * Start trace events collection. + */ + post(method: "NodeTracing.start", params?: NodeTracing.StartParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeTracing.start", callback?: (err: Error | null) => void): void; + + /** + * Stop trace events collection. Remaining collected events will be sent as a sequence of + * dataCollected events followed by tracingComplete event. + */ + post(method: "NodeTracing.stop", callback?: (err: Error | null) => void): void; + + /** + * Sends protocol message over session with given id. + */ + post(method: "NodeWorker.sendMessageToWorker", params?: NodeWorker.SendMessageToWorkerParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.sendMessageToWorker", callback?: (err: Error | null) => void): void; + + /** + * Instructs the inspector to attach to running workers. Will also attach to new workers + * as they start + */ + post(method: "NodeWorker.enable", params?: NodeWorker.EnableParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.enable", callback?: (err: Error | null) => void): void; + + /** + * Detaches from all running workers and disables attaching to new workers as they are started. + */ + post(method: "NodeWorker.disable", callback?: (err: Error | null) => void): void; + + /** + * Detached from the worker with given sessionId. + */ + post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.detach", callback?: (err: Error | null) => void): void; + + /** + * Enable the `NodeRuntime.waitingForDisconnect`. + */ + post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", params?: NodeRuntime.NotifyWhenWaitingForDisconnectParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", callback?: (err: Error | null) => void): void; + + // Events + + addListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + addListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + addListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + addListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + addListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + addListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + addListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + addListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + addListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + addListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + addListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + addListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + addListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + addListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + addListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + addListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + addListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + addListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + addListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + addListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + addListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + addListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + addListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + addListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + addListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + addListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + addListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + addListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "inspectorNotification", message: InspectorNotification<{}>): boolean; + emit(event: "Runtime.executionContextCreated", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextDestroyed", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextsCleared"): boolean; + emit(event: "Runtime.exceptionThrown", message: InspectorNotification): boolean; + emit(event: "Runtime.exceptionRevoked", message: InspectorNotification): boolean; + emit(event: "Runtime.consoleAPICalled", message: InspectorNotification): boolean; + emit(event: "Runtime.inspectRequested", message: InspectorNotification): boolean; + emit(event: "Debugger.scriptParsed", message: InspectorNotification): boolean; + emit(event: "Debugger.scriptFailedToParse", message: InspectorNotification): boolean; + emit(event: "Debugger.breakpointResolved", message: InspectorNotification): boolean; + emit(event: "Debugger.paused", message: InspectorNotification): boolean; + emit(event: "Debugger.resumed"): boolean; + emit(event: "Console.messageAdded", message: InspectorNotification): boolean; + emit(event: "Profiler.consoleProfileStarted", message: InspectorNotification): boolean; + emit(event: "Profiler.consoleProfileFinished", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.addHeapSnapshotChunk", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.resetProfiles"): boolean; + emit(event: "HeapProfiler.reportHeapSnapshotProgress", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.lastSeenObjectId", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.heapStatsUpdate", message: InspectorNotification): boolean; + emit(event: "NodeTracing.dataCollected", message: InspectorNotification): boolean; + emit(event: "NodeTracing.tracingComplete"): boolean; + emit(event: "NodeWorker.attachedToWorker", message: InspectorNotification): boolean; + emit(event: "NodeWorker.detachedFromWorker", message: InspectorNotification): boolean; + emit(event: "NodeWorker.receivedMessageFromWorker", message: InspectorNotification): boolean; + emit(event: "NodeRuntime.waitingForDisconnect"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + on(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + on(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + on(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + on(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + on(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + on(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + on(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + on(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + on(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + on(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + on(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + on(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + on(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + on(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + on(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + on(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + on(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + on(event: "HeapProfiler.resetProfiles", listener: () => void): this; + on(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + on(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + on(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + on(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + on(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + on(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + on(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + on(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + on(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + once(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + once(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + once(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + once(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + once(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + once(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + once(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + once(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + once(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + once(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + once(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + once(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + once(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + once(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + once(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + once(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + once(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + once(event: "HeapProfiler.resetProfiles", listener: () => void): this; + once(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + once(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + once(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + once(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + once(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + once(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + once(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + once(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + once(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + prependListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + prependListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + prependListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + prependListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + prependListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + prependListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + prependListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + prependListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + prependListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + prependListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + prependListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + prependListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + prependListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependOnceListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + prependOnceListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependOnceListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependOnceListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependOnceListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependOnceListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependOnceListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + prependOnceListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + prependOnceListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependOnceListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependOnceListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependOnceListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependOnceListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + prependOnceListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependOnceListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + prependOnceListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependOnceListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependOnceListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependOnceListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + prependOnceListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + prependOnceListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + prependOnceListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + prependOnceListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + prependOnceListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + prependOnceListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + } + + // Top Level API + + /** + * Activate inspector on host and port. Equivalent to node --inspect=[[host:]port], but can be done programatically after node has started. + * If wait is true, will block until a client has connected to the inspect port and flow control has been passed to the debugger client. + * @param port Port to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param host Host to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param wait Block until a client has connected. Optional, defaults to false. + */ + function open(port?: number, host?: string, wait?: boolean): void; + + /** + * Deactivate the inspector. Blocks until there are no active connections. + */ + function close(): void; + + /** + * Return the URL of the active inspector, or `undefined` if there is none. + */ + function url(): string | undefined; +} diff --git a/node_modules/@types/node/module.d.ts b/node_modules/@types/node/module.d.ts new file mode 100644 index 0000000..f512be7 --- /dev/null +++ b/node_modules/@types/node/module.d.ts @@ -0,0 +1,3 @@ +declare module "module" { + export = NodeJS.Module; +} diff --git a/node_modules/@types/node/net.d.ts b/node_modules/@types/node/net.d.ts new file mode 100644 index 0000000..1e4f971 --- /dev/null +++ b/node_modules/@types/node/net.d.ts @@ -0,0 +1,268 @@ +declare module "net" { + import * as stream from "stream"; + import * as events from "events"; + import * as dns from "dns"; + + type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; + + interface AddressInfo { + address: string; + family: string; + port: number; + } + + interface SocketConstructorOpts { + fd?: number; + allowHalfOpen?: boolean; + readable?: boolean; + writable?: boolean; + } + + interface OnReadOpts { + buffer: Uint8Array | (() => Uint8Array); + /** + * This function is called for every chunk of incoming data. + * Two arguments are passed to it: the number of bytes written to buffer and a reference to buffer. + * Return false from this function to implicitly pause() the socket. + */ + callback(bytesWritten: number, buf: Uint8Array): boolean; + } + + interface ConnectOpts { + /** + * If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket. + * Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will + * still be emitted as normal and methods like pause() and resume() will also behave as expected. + */ + onread?: OnReadOpts; + } + + interface TcpSocketConnectOpts extends ConnectOpts { + port: number; + host?: string; + localAddress?: string; + localPort?: number; + hints?: number; + family?: number; + lookup?: LookupFunction; + } + + interface IpcSocketConnectOpts extends ConnectOpts { + path: string; + } + + type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts; + + class Socket extends stream.Duplex { + constructor(options?: SocketConstructorOpts); + + // Extended base methods + write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean; + write(str: Uint8Array | string, encoding?: string, cb?: (err?: Error) => void): boolean; + + connect(options: SocketConnectOpts, connectionListener?: () => void): this; + connect(port: number, host: string, connectionListener?: () => void): this; + connect(port: number, connectionListener?: () => void): this; + connect(path: string, connectionListener?: () => void): this; + + setEncoding(encoding?: string): this; + pause(): this; + resume(): this; + setTimeout(timeout: number, callback?: () => void): this; + setNoDelay(noDelay?: boolean): this; + setKeepAlive(enable?: boolean, initialDelay?: number): this; + address(): AddressInfo | string; + unref(): void; + ref(): void; + + readonly bufferSize: number; + readonly bytesRead: number; + readonly bytesWritten: number; + readonly connecting: boolean; + readonly destroyed: boolean; + readonly localAddress: string; + readonly localPort: number; + readonly remoteAddress?: string; + readonly remoteFamily?: string; + readonly remotePort?: number; + + // Extended base methods + end(cb?: () => void): void; + end(buffer: Uint8Array | string, cb?: () => void): void; + end(str: Uint8Array | string, encoding?: string, cb?: () => void): void; + + /** + * events.EventEmitter + * 1. close + * 2. connect + * 3. data + * 4. drain + * 5. end + * 6. error + * 7. lookup + * 8. timeout + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (had_error: boolean) => void): this; + addListener(event: "connect", listener: () => void): this; + addListener(event: "data", listener: (data: Buffer) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + addListener(event: "timeout", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", had_error: boolean): boolean; + emit(event: "connect"): boolean; + emit(event: "data", data: Buffer): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean; + emit(event: "timeout"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (had_error: boolean) => void): this; + on(event: "connect", listener: () => void): this; + on(event: "data", listener: (data: Buffer) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + on(event: "timeout", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (had_error: boolean) => void): this; + once(event: "connect", listener: () => void): this; + once(event: "data", listener: (data: Buffer) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + once(event: "timeout", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (had_error: boolean) => void): this; + prependListener(event: "connect", listener: () => void): this; + prependListener(event: "data", listener: (data: Buffer) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependListener(event: "timeout", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (had_error: boolean) => void): this; + prependOnceListener(event: "connect", listener: () => void): this; + prependOnceListener(event: "data", listener: (data: Buffer) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + } + + interface ListenOptions { + port?: number; + host?: string; + backlog?: number; + path?: string; + exclusive?: boolean; + readableAll?: boolean; + writableAll?: boolean; + /** + * @default false + */ + ipv6Only?: boolean; + } + + // https://github.com/nodejs/node/blob/master/lib/net.js + class Server extends events.EventEmitter { + constructor(connectionListener?: (socket: Socket) => void); + constructor(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void); + + listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; + listen(port?: number, hostname?: string, listeningListener?: () => void): this; + listen(port?: number, backlog?: number, listeningListener?: () => void): this; + listen(port?: number, listeningListener?: () => void): this; + listen(path: string, backlog?: number, listeningListener?: () => void): this; + listen(path: string, listeningListener?: () => void): this; + listen(options: ListenOptions, listeningListener?: () => void): this; + listen(handle: any, backlog?: number, listeningListener?: () => void): this; + listen(handle: any, listeningListener?: () => void): this; + close(callback?: (err?: Error) => void): this; + address(): AddressInfo | string | null; + getConnections(cb: (error: Error | null, count: number) => void): void; + ref(): this; + unref(): this; + maxConnections: number; + connections: number; + listening: boolean; + + /** + * events.EventEmitter + * 1. close + * 2. connection + * 3. error + * 4. listening + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "connection", listener: (socket: Socket) => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "connection", socket: Socket): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "connection", listener: (socket: Socket) => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "connection", listener: (socket: Socket) => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "connection", listener: (socket: Socket) => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "connection", listener: (socket: Socket) => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + } + + interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts; + + function createServer(connectionListener?: (socket: Socket) => void): Server; + function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server; + function connect(options: NetConnectOpts, connectionListener?: () => void): Socket; + function connect(port: number, host?: string, connectionListener?: () => void): Socket; + function connect(path: string, connectionListener?: () => void): Socket; + function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket; + function createConnection(port: number, host?: string, connectionListener?: () => void): Socket; + function createConnection(path: string, connectionListener?: () => void): Socket; + function isIP(input: string): number; + function isIPv4(input: string): boolean; + function isIPv6(input: string): boolean; +} diff --git a/node_modules/@types/node/os.d.ts b/node_modules/@types/node/os.d.ts new file mode 100644 index 0000000..4182e50 --- /dev/null +++ b/node_modules/@types/node/os.d.ts @@ -0,0 +1,201 @@ +declare module "os" { + interface CpuInfo { + model: string; + speed: number; + times: { + user: number; + nice: number; + sys: number; + idle: number; + irq: number; + }; + } + + interface NetworkInterfaceBase { + address: string; + netmask: string; + mac: string; + internal: boolean; + cidr: string | null; + } + + interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { + family: "IPv4"; + } + + interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { + family: "IPv6"; + scopeid: number; + } + + interface UserInfo { + username: T; + uid: number; + gid: number; + shell: T; + homedir: T; + } + + type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; + + function hostname(): string; + function loadavg(): number[]; + function uptime(): number; + function freemem(): number; + function totalmem(): number; + function cpus(): CpuInfo[]; + function type(): string; + function release(): string; + function networkInterfaces(): { [index: string]: NetworkInterfaceInfo[] }; + function homedir(): string; + function userInfo(options: { encoding: 'buffer' }): UserInfo; + function userInfo(options?: { encoding: string }): UserInfo; + const constants: { + UV_UDP_REUSEADDR: number; + signals: { + SIGHUP: number; + SIGINT: number; + SIGQUIT: number; + SIGILL: number; + SIGTRAP: number; + SIGABRT: number; + SIGIOT: number; + SIGBUS: number; + SIGFPE: number; + SIGKILL: number; + SIGUSR1: number; + SIGSEGV: number; + SIGUSR2: number; + SIGPIPE: number; + SIGALRM: number; + SIGTERM: number; + SIGCHLD: number; + SIGSTKFLT: number; + SIGCONT: number; + SIGSTOP: number; + SIGTSTP: number; + SIGTTIN: number; + SIGTTOU: number; + SIGURG: number; + SIGXCPU: number; + SIGXFSZ: number; + SIGVTALRM: number; + SIGPROF: number; + SIGWINCH: number; + SIGIO: number; + SIGPOLL: number; + SIGPWR: number; + SIGSYS: number; + SIGUNUSED: number; + }; + errno: { + E2BIG: number; + EACCES: number; + EADDRINUSE: number; + EADDRNOTAVAIL: number; + EAFNOSUPPORT: number; + EAGAIN: number; + EALREADY: number; + EBADF: number; + EBADMSG: number; + EBUSY: number; + ECANCELED: number; + ECHILD: number; + ECONNABORTED: number; + ECONNREFUSED: number; + ECONNRESET: number; + EDEADLK: number; + EDESTADDRREQ: number; + EDOM: number; + EDQUOT: number; + EEXIST: number; + EFAULT: number; + EFBIG: number; + EHOSTUNREACH: number; + EIDRM: number; + EILSEQ: number; + EINPROGRESS: number; + EINTR: number; + EINVAL: number; + EIO: number; + EISCONN: number; + EISDIR: number; + ELOOP: number; + EMFILE: number; + EMLINK: number; + EMSGSIZE: number; + EMULTIHOP: number; + ENAMETOOLONG: number; + ENETDOWN: number; + ENETRESET: number; + ENETUNREACH: number; + ENFILE: number; + ENOBUFS: number; + ENODATA: number; + ENODEV: number; + ENOENT: number; + ENOEXEC: number; + ENOLCK: number; + ENOLINK: number; + ENOMEM: number; + ENOMSG: number; + ENOPROTOOPT: number; + ENOSPC: number; + ENOSR: number; + ENOSTR: number; + ENOSYS: number; + ENOTCONN: number; + ENOTDIR: number; + ENOTEMPTY: number; + ENOTSOCK: number; + ENOTSUP: number; + ENOTTY: number; + ENXIO: number; + EOPNOTSUPP: number; + EOVERFLOW: number; + EPERM: number; + EPIPE: number; + EPROTO: number; + EPROTONOSUPPORT: number; + EPROTOTYPE: number; + ERANGE: number; + EROFS: number; + ESPIPE: number; + ESRCH: number; + ESTALE: number; + ETIME: number; + ETIMEDOUT: number; + ETXTBSY: number; + EWOULDBLOCK: number; + EXDEV: number; + }; + priority: { + PRIORITY_LOW: number; + PRIORITY_BELOW_NORMAL: number; + PRIORITY_NORMAL: number; + PRIORITY_ABOVE_NORMAL: number; + PRIORITY_HIGH: number; + PRIORITY_HIGHEST: number; + } + }; + function arch(): string; + function platform(): NodeJS.Platform; + function tmpdir(): string; + const EOL: string; + function endianness(): "BE" | "LE"; + /** + * Gets the priority of a process. + * Defaults to current process. + */ + function getPriority(pid?: number): number; + /** + * Sets the priority of the current process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(priority: number): void; + /** + * Sets the priority of the process specified process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(pid: number, priority: number): void; +} diff --git a/node_modules/@types/node/package.json b/node_modules/@types/node/package.json new file mode 100644 index 0000000..f0ed5b5 --- /dev/null +++ b/node_modules/@types/node/package.json @@ -0,0 +1,220 @@ +{ + "name": "@types/node", + "version": "12.11.7", + "description": "TypeScript definitions for Node.js", + "license": "MIT", + "contributors": [ + { + "name": "Microsoft TypeScript", + "url": "https://github.com/Microsoft", + "githubUsername": "Microsoft" + }, + { + "name": "DefinitelyTyped", + "url": "https://github.com/DefinitelyTyped", + "githubUsername": "DefinitelyTyped" + }, + { + "name": "Alberto Schiabel", + "url": "https://github.com/jkomyno", + "githubUsername": "jkomyno" + }, + { + "name": "Alexander T.", + "url": "https://github.com/a-tarasyuk", + "githubUsername": "a-tarasyuk" + }, + { + "name": "Alvis HT Tang", + "url": "https://github.com/alvis", + "githubUsername": "alvis" + }, + { + "name": "Andrew Makarov", + "url": "https://github.com/r3nya", + "githubUsername": "r3nya" + }, + { + "name": "Benjamin Toueg", + "url": "https://github.com/btoueg", + "githubUsername": "btoueg" + }, + { + "name": "Bruno Scheufler", + "url": "https://github.com/brunoscheufler", + "githubUsername": "brunoscheufler" + }, + { + "name": "Chigozirim C.", + "url": "https://github.com/smac89", + "githubUsername": "smac89" + }, + { + "name": "Christian Vaagland Tellnes", + "url": "https://github.com/tellnes", + "githubUsername": "tellnes" + }, + { + "name": "David Junger", + "url": "https://github.com/touffy", + "githubUsername": "touffy" + }, + { + "name": "Deividas Bakanas", + "url": "https://github.com/DeividasBakanas", + "githubUsername": "DeividasBakanas" + }, + { + "name": "Eugene Y. Q. Shen", + "url": "https://github.com/eyqs", + "githubUsername": "eyqs" + }, + { + "name": "Flarna", + "url": "https://github.com/Flarna", + "githubUsername": "Flarna" + }, + { + "name": "Hannes Magnusson", + "url": "https://github.com/Hannes-Magnusson-CK", + "githubUsername": "Hannes-Magnusson-CK" + }, + { + "name": "Hoàng Văn Khải", + "url": "https://github.com/KSXGitHub", + "githubUsername": "KSXGitHub" + }, + { + "name": "Huw", + "url": "https://github.com/hoo29", + "githubUsername": "hoo29" + }, + { + "name": "Kelvin Jin", + "url": "https://github.com/kjin", + "githubUsername": "kjin" + }, + { + "name": "Klaus Meinhardt", + "url": "https://github.com/ajafff", + "githubUsername": "ajafff" + }, + { + "name": "Lishude", + "url": "https://github.com/islishude", + "githubUsername": "islishude" + }, + { + "name": "Mariusz Wiktorczyk", + "url": "https://github.com/mwiktorczyk", + "githubUsername": "mwiktorczyk" + }, + { + "name": "Mohsen Azimi", + "url": "https://github.com/mohsen1", + "githubUsername": "mohsen1" + }, + { + "name": "Nicolas Even", + "url": "https://github.com/n-e", + "githubUsername": "n-e" + }, + { + "name": "Nicolas Voigt", + "url": "https://github.com/octo-sniffle", + "githubUsername": "octo-sniffle" + }, + { + "name": "Parambir Singh", + "url": "https://github.com/parambirs", + "githubUsername": "parambirs" + }, + { + "name": "Sebastian Silbermann", + "url": "https://github.com/eps1lon", + "githubUsername": "eps1lon" + }, + { + "name": "Simon Schick", + "url": "https://github.com/SimonSchick", + "githubUsername": "SimonSchick" + }, + { + "name": "Thomas den Hollander", + "url": "https://github.com/ThomasdenH", + "githubUsername": "ThomasdenH" + }, + { + "name": "Wilco Bakker", + "url": "https://github.com/WilcoBakker", + "githubUsername": "WilcoBakker" + }, + { + "name": "wwwy3y3", + "url": "https://github.com/wwwy3y3", + "githubUsername": "wwwy3y3" + }, + { + "name": "Zane Hannan AU", + "url": "https://github.com/ZaneHannanAU", + "githubUsername": "ZaneHannanAU" + }, + { + "name": "Samuel Ainsworth", + "url": "https://github.com/samuela", + "githubUsername": "samuela" + }, + { + "name": "Kyle Uehlein", + "url": "https://github.com/kuehlein", + "githubUsername": "kuehlein" + }, + { + "name": "Jordi Oliveras Rovira", + "url": "https://github.com/j-oliveras", + "githubUsername": "j-oliveras" + }, + { + "name": "Thanik Bhongbhibhat", + "url": "https://github.com/bhongy", + "githubUsername": "bhongy" + }, + { + "name": "Marcin Kopacz", + "url": "https://github.com/chyzwar", + "githubUsername": "chyzwar" + }, + { + "name": "Trivikram Kamat", + "url": "https://github.com/trivikr", + "githubUsername": "trivikr" + }, + { + "name": "Minh Son Nguyen", + "url": "https://github.com/nguymin4", + "githubUsername": "nguymin4" + } + ], + "main": "", + "types": "index", + "typesVersions": { + ">=3.2.0-0": { + "*": [ + "ts3.2/*" + ] + } + }, + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/node" + }, + "scripts": {}, + "dependencies": {}, + "typesPublisherContentHash": "5350651f60ae87ecc962833dc4081a45275968603a64cdacfb1cc9efaebb2e36", + "typeScriptVersion": "2.0" + +,"_resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.7.tgz" +,"_integrity": "sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==" +,"_from": "@types/node@12.11.7" +} \ No newline at end of file diff --git a/node_modules/@types/node/path.d.ts b/node_modules/@types/node/path.d.ts new file mode 100644 index 0000000..2f4a549 --- /dev/null +++ b/node_modules/@types/node/path.d.ts @@ -0,0 +1,159 @@ +declare module "path" { + /** + * A parsed path object generated by path.parse() or consumed by path.format(). + */ + interface ParsedPath { + /** + * The root of the path such as '/' or 'c:\' + */ + root: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base: string; + /** + * The file extension (if any) such as '.html' + */ + ext: string; + /** + * The file name without extension (if any) such as 'index' + */ + name: string; + } + interface FormatInputPathObject { + /** + * The root of the path such as '/' or 'c:\' + */ + root?: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir?: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base?: string; + /** + * The file extension (if any) such as '.html' + */ + ext?: string; + /** + * The file name without extension (if any) such as 'index' + */ + name?: string; + } + + /** + * Normalize a string path, reducing '..' and '.' parts. + * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used. + * + * @param p string path to normalize. + */ + function normalize(p: string): string; + /** + * Join all arguments together and normalize the resulting path. + * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown. + * + * @param paths paths to join. + */ + function join(...paths: string[]): string; + /** + * The right-most parameter is considered {to}. Other parameters are considered an array of {from}. + * + * Starting from leftmost {from} parameter, resolves {to} to an absolute path. + * + * If {to} isn't already absolute, {from} arguments are prepended in right to left order, + * until an absolute path is found. If after using all {from} paths still no absolute path is found, + * the current working directory is used as well. The resulting path is normalized, + * and trailing slashes are removed unless the path gets resolved to the root directory. + * + * @param pathSegments string paths to join. Non-string arguments are ignored. + */ + function resolve(...pathSegments: string[]): string; + /** + * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory. + * + * @param path path to test. + */ + function isAbsolute(path: string): boolean; + /** + * Solve the relative path from {from} to {to}. + * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve. + */ + function relative(from: string, to: string): string; + /** + * Return the directory name of a path. Similar to the Unix dirname command. + * + * @param p the path to evaluate. + */ + function dirname(p: string): string; + /** + * Return the last portion of a path. Similar to the Unix basename command. + * Often used to extract the file name from a fully qualified path. + * + * @param p the path to evaluate. + * @param ext optionally, an extension to remove from the result. + */ + function basename(p: string, ext?: string): string; + /** + * Return the extension of the path, from the last '.' to end of string in the last portion of the path. + * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string + * + * @param p the path to evaluate. + */ + function extname(p: string): string; + /** + * The platform-specific file separator. '\\' or '/'. + */ + const sep: '\\' | '/'; + /** + * The platform-specific file delimiter. ';' or ':'. + */ + const delimiter: ';' | ':'; + /** + * Returns an object from a path string - the opposite of format(). + * + * @param pathString path to evaluate. + */ + function parse(pathString: string): ParsedPath; + /** + * Returns a path string from an object - the opposite of parse(). + * + * @param pathString path to evaluate. + */ + function format(pathObject: FormatInputPathObject): string; + + namespace posix { + function normalize(p: string): string; + function join(...paths: string[]): string; + function resolve(...pathSegments: string[]): string; + function isAbsolute(p: string): boolean; + function relative(from: string, to: string): string; + function dirname(p: string): string; + function basename(p: string, ext?: string): string; + function extname(p: string): string; + const sep: string; + const delimiter: string; + function parse(p: string): ParsedPath; + function format(pP: FormatInputPathObject): string; + } + + namespace win32 { + function normalize(p: string): string; + function join(...paths: string[]): string; + function resolve(...pathSegments: string[]): string; + function isAbsolute(p: string): boolean; + function relative(from: string, to: string): string; + function dirname(p: string): string; + function basename(p: string, ext?: string): string; + function extname(p: string): string; + const sep: string; + const delimiter: string; + function parse(p: string): ParsedPath; + function format(pP: FormatInputPathObject): string; + } +} diff --git a/node_modules/@types/node/perf_hooks.d.ts b/node_modules/@types/node/perf_hooks.d.ts new file mode 100644 index 0000000..bf44d44 --- /dev/null +++ b/node_modules/@types/node/perf_hooks.d.ts @@ -0,0 +1,304 @@ +declare module "perf_hooks" { + import { AsyncResource } from "async_hooks"; + + interface PerformanceEntry { + /** + * The total number of milliseconds elapsed for this entry. + * This value will not be meaningful for all Performance Entry types. + */ + readonly duration: number; + + /** + * The name of the performance entry. + */ + readonly name: string; + + /** + * The high resolution millisecond timestamp marking the starting time of the Performance Entry. + */ + readonly startTime: number; + + /** + * The type of the performance entry. + * Currently it may be one of: 'node', 'mark', 'measure', 'gc', or 'function'. + */ + readonly entryType: string; + + /** + * When performanceEntry.entryType is equal to 'gc', the performance.kind property identifies + * the type of garbage collection operation that occurred. + * The value may be one of perf_hooks.constants. + */ + readonly kind?: number; + } + + interface PerformanceNodeTiming extends PerformanceEntry { + /** + * The high resolution millisecond timestamp at which the Node.js process completed bootstrap. + */ + readonly bootstrapComplete: number; + + /** + * The high resolution millisecond timestamp at which cluster processing ended. + */ + readonly clusterSetupEnd: number; + + /** + * The high resolution millisecond timestamp at which cluster processing started. + */ + readonly clusterSetupStart: number; + + /** + * The high resolution millisecond timestamp at which the Node.js event loop exited. + */ + readonly loopExit: number; + + /** + * The high resolution millisecond timestamp at which the Node.js event loop started. + */ + readonly loopStart: number; + + /** + * The high resolution millisecond timestamp at which main module load ended. + */ + readonly moduleLoadEnd: number; + + /** + * The high resolution millisecond timestamp at which main module load started. + */ + readonly moduleLoadStart: number; + + /** + * The high resolution millisecond timestamp at which the Node.js process was initialized. + */ + readonly nodeStart: number; + + /** + * The high resolution millisecond timestamp at which preload module load ended. + */ + readonly preloadModuleLoadEnd: number; + + /** + * The high resolution millisecond timestamp at which preload module load started. + */ + readonly preloadModuleLoadStart: number; + + /** + * The high resolution millisecond timestamp at which third_party_main processing ended. + */ + readonly thirdPartyMainEnd: number; + + /** + * The high resolution millisecond timestamp at which third_party_main processing started. + */ + readonly thirdPartyMainStart: number; + + /** + * The high resolution millisecond timestamp at which the V8 platform was initialized. + */ + readonly v8Start: number; + } + + interface Performance { + /** + * If name is not provided, removes all PerformanceFunction objects from the Performance Timeline. + * If name is provided, removes entries with name. + * @param name + */ + clearFunctions(name?: string): void; + + /** + * If name is not provided, removes all PerformanceMark objects from the Performance Timeline. + * If name is provided, removes only the named mark. + * @param name + */ + clearMarks(name?: string): void; + + /** + * If name is not provided, removes all PerformanceMeasure objects from the Performance Timeline. + * If name is provided, removes only objects whose performanceEntry.name matches name. + */ + clearMeasures(name?: string): void; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. + * @return list of all PerformanceEntry objects + */ + getEntries(): PerformanceEntry[]; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. + * @param name + * @param type + * @return list of all PerformanceEntry objects + */ + getEntriesByName(name: string, type?: string): PerformanceEntry[]; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.entryType is equal to type. + * @param type + * @return list of all PerformanceEntry objects + */ + getEntriesByType(type: string): PerformanceEntry[]; + + /** + * Creates a new PerformanceMark entry in the Performance Timeline. + * A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark', + * and whose performanceEntry.duration is always 0. + * Performance marks are used to mark specific significant moments in the Performance Timeline. + * @param name + */ + mark(name?: string): void; + + /** + * Creates a new PerformanceMeasure entry in the Performance Timeline. + * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure', + * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark. + * + * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify + * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist, + * then startMark is set to timeOrigin by default. + * + * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp + * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown. + * @param name + * @param startMark + * @param endMark + */ + measure(name: string, startMark: string, endMark: string): void; + + /** + * An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones. + */ + readonly nodeTiming: PerformanceNodeTiming; + + /** + * @return the current high resolution millisecond timestamp + */ + now(): number; + + /** + * The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured. + */ + readonly timeOrigin: number; + + /** + * Wraps a function within a new function that measures the running time of the wrapped function. + * A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed. + * @param fn + */ + timerify any>(fn: T): T; + } + + interface PerformanceObserverEntryList { + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. + */ + getEntries(): PerformanceEntry[]; + + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. + */ + getEntriesByName(name: string, type?: string): PerformanceEntry[]; + + /** + * @return Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.entryType is equal to type. + */ + getEntriesByType(type: string): PerformanceEntry[]; + } + + type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void; + + class PerformanceObserver extends AsyncResource { + constructor(callback: PerformanceObserverCallback); + + /** + * Disconnects the PerformanceObserver instance from all notifications. + */ + disconnect(): void; + + /** + * Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified by options.entryTypes. + * When options.buffered is false, the callback will be invoked once for every PerformanceEntry instance. + * Property buffered defaults to false. + * @param options + */ + observe(options: { entryTypes: string[], buffered?: boolean }): void; + } + + namespace constants { + const NODE_PERFORMANCE_GC_MAJOR: number; + const NODE_PERFORMANCE_GC_MINOR: number; + const NODE_PERFORMANCE_GC_INCREMENTAL: number; + const NODE_PERFORMANCE_GC_WEAKCB: number; + } + + const performance: Performance; + + interface EventLoopMonitorOptions { + /** + * The sampling rate in milliseconds. + * Must be greater than zero. + * @default 10 + */ + resolution?: number; + } + + interface EventLoopDelayMonitor { + /** + * Enables the event loop delay sample timer. Returns `true` if the timer was started, `false` if it was already started. + */ + enable(): boolean; + /** + * Disables the event loop delay sample timer. Returns `true` if the timer was stopped, `false` if it was already stopped. + */ + disable(): boolean; + + /** + * Resets the collected histogram data. + */ + reset(): void; + + /** + * Returns the value at the given percentile. + * @param percentile A percentile value between 1 and 100. + */ + percentile(percentile: number): number; + + /** + * A `Map` object detailing the accumulated percentile distribution. + */ + readonly percentiles: Map; + + /** + * The number of times the event loop delay exceeded the maximum 1 hour eventloop delay threshold. + */ + readonly exceeds: number; + + /** + * The minimum recorded event loop delay. + */ + readonly min: number; + + /** + * The maximum recorded event loop delay. + */ + readonly max: number; + + /** + * The mean of the recorded event loop delays. + */ + readonly mean: number; + + /** + * The standard deviation of the recorded event loop delays. + */ + readonly stddev: number; + } + + function monitorEventLoopDelay(options?: EventLoopMonitorOptions): EventLoopDelayMonitor; +} diff --git a/node_modules/@types/node/process.d.ts b/node_modules/@types/node/process.d.ts new file mode 100644 index 0000000..d007d4e --- /dev/null +++ b/node_modules/@types/node/process.d.ts @@ -0,0 +1,15 @@ +declare module "process" { + import * as tty from "tty"; + + global { + namespace NodeJS { + // this namespace merge is here because these are specifically used + // as the type for process.stdin, process.stdout, and process.stderr. + // they can't live in tty.d.ts because we need to disambiguate the imported name. + interface ReadStream extends tty.ReadStream {} + interface WriteStream extends tty.WriteStream {} + } + } + + export = process; +} diff --git a/node_modules/@types/node/punycode.d.ts b/node_modules/@types/node/punycode.d.ts new file mode 100644 index 0000000..75d2811 --- /dev/null +++ b/node_modules/@types/node/punycode.d.ts @@ -0,0 +1,12 @@ +declare module "punycode" { + function decode(string: string): string; + function encode(string: string): string; + function toUnicode(domain: string): string; + function toASCII(domain: string): string; + const ucs2: ucs2; + interface ucs2 { + decode(string: string): number[]; + encode(codePoints: number[]): string; + } + const version: string; +} diff --git a/node_modules/@types/node/querystring.d.ts b/node_modules/@types/node/querystring.d.ts new file mode 100644 index 0000000..a61269d --- /dev/null +++ b/node_modules/@types/node/querystring.d.ts @@ -0,0 +1,29 @@ +declare module "querystring" { + interface StringifyOptions { + encodeURIComponent?: (str: string) => string; + } + + interface ParseOptions { + maxKeys?: number; + decodeURIComponent?: (str: string) => string; + } + + interface ParsedUrlQuery { [key: string]: string | string[]; } + + interface ParsedUrlQueryInput { + [key: string]: NodeJS.PoorMansUnknown; + } + + function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string; + function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery; + /** + * The querystring.encode() function is an alias for querystring.stringify(). + */ + const encode: typeof stringify; + /** + * The querystring.decode() function is an alias for querystring.parse(). + */ + const decode: typeof parse; + function escape(str: string): string; + function unescape(str: string): string; +} diff --git a/node_modules/@types/node/readline.d.ts b/node_modules/@types/node/readline.d.ts new file mode 100644 index 0000000..6cb572e --- /dev/null +++ b/node_modules/@types/node/readline.d.ts @@ -0,0 +1,150 @@ +declare module "readline" { + import * as events from "events"; + import * as stream from "stream"; + + interface Key { + sequence?: string; + name?: string; + ctrl?: boolean; + meta?: boolean; + shift?: boolean; + } + + class Interface extends events.EventEmitter { + readonly terminal: boolean; + + /** + * NOTE: According to the documentation: + * + * > Instances of the `readline.Interface` class are constructed using the + * > `readline.createInterface()` method. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface + */ + protected constructor(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean); + /** + * NOTE: According to the documentation: + * + * > Instances of the `readline.Interface` class are constructed using the + * > `readline.createInterface()` method. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface + */ + protected constructor(options: ReadLineOptions); + + setPrompt(prompt: string): void; + prompt(preserveCursor?: boolean): void; + question(query: string, callback: (answer: string) => void): void; + pause(): this; + resume(): this; + close(): void; + write(data: string | Buffer, key?: Key): void; + + /** + * events.EventEmitter + * 1. close + * 2. line + * 3. pause + * 4. resume + * 5. SIGCONT + * 6. SIGINT + * 7. SIGTSTP + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "line", listener: (input: string) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: "SIGCONT", listener: () => void): this; + addListener(event: "SIGINT", listener: () => void): this; + addListener(event: "SIGTSTP", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "line", input: string): boolean; + emit(event: "pause"): boolean; + emit(event: "resume"): boolean; + emit(event: "SIGCONT"): boolean; + emit(event: "SIGINT"): boolean; + emit(event: "SIGTSTP"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "line", listener: (input: string) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: "SIGCONT", listener: () => void): this; + on(event: "SIGINT", listener: () => void): this; + on(event: "SIGTSTP", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "line", listener: (input: string) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: "SIGCONT", listener: () => void): this; + once(event: "SIGINT", listener: () => void): this; + once(event: "SIGTSTP", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "line", listener: (input: string) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: "SIGCONT", listener: () => void): this; + prependListener(event: "SIGINT", listener: () => void): this; + prependListener(event: "SIGTSTP", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "line", listener: (input: string) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: "SIGCONT", listener: () => void): this; + prependOnceListener(event: "SIGINT", listener: () => void): this; + prependOnceListener(event: "SIGTSTP", listener: () => void): this; + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + type ReadLine = Interface; // type forwarded for backwards compatiblity + + type Completer = (line: string) => CompleterResult; + type AsyncCompleter = (line: string, callback: (err?: null | Error, result?: CompleterResult) => void) => any; + + type CompleterResult = [string[], string]; + + interface ReadLineOptions { + input: NodeJS.ReadableStream; + output?: NodeJS.WritableStream; + completer?: Completer | AsyncCompleter; + terminal?: boolean; + historySize?: number; + prompt?: string; + crlfDelay?: number; + removeHistoryDuplicates?: boolean; + } + + function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface; + function createInterface(options: ReadLineOptions): Interface; + function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void; + + type Direction = -1 | 0 | 1; + + /** + * Clears the current line of this WriteStream in a direction identified by `dir`. + */ + function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean; + /** + * Clears this `WriteStream` from the current cursor down. + */ + function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor to the specified position. + */ + function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor relative to its current position. + */ + function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean; +} diff --git a/node_modules/@types/node/repl.d.ts b/node_modules/@types/node/repl.d.ts new file mode 100644 index 0000000..71f4904 --- /dev/null +++ b/node_modules/@types/node/repl.d.ts @@ -0,0 +1,382 @@ +declare module "repl" { + import { Interface, Completer, AsyncCompleter } from "readline"; + import { Context } from "vm"; + import { InspectOptions } from "util"; + + interface ReplOptions { + /** + * The input prompt to display. + * Default: `"> "` + */ + prompt?: string; + /** + * The `Readable` stream from which REPL input will be read. + * Default: `process.stdin` + */ + input?: NodeJS.ReadableStream; + /** + * The `Writable` stream to which REPL output will be written. + * Default: `process.stdout` + */ + output?: NodeJS.WritableStream; + /** + * If `true`, specifies that the output should be treated as a TTY terminal, and have + * ANSI/VT100 escape codes written to it. + * Default: checking the value of the `isTTY` property on the output stream upon + * instantiation. + */ + terminal?: boolean; + /** + * The function to be used when evaluating each given line of input. + * Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can + * error with `repl.Recoverable` to indicate the input was incomplete and prompt for + * additional lines. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions + */ + eval?: REPLEval; + /** + * If `true`, specifies that the default `writer` function should include ANSI color + * styling to REPL output. If a custom `writer` function is provided then this has no + * effect. + * Default: the REPL instance's `terminal` value. + */ + useColors?: boolean; + /** + * If `true`, specifies that the default evaluation function will use the JavaScript + * `global` as the context as opposed to creating a new separate context for the REPL + * instance. The node CLI REPL sets this value to `true`. + * Default: `false`. + */ + useGlobal?: boolean; + /** + * If `true`, specifies that the default writer will not output the return value of a + * command if it evaluates to `undefined`. + * Default: `false`. + */ + ignoreUndefined?: boolean; + /** + * The function to invoke to format the output of each command before writing to `output`. + * Default: a wrapper for `util.inspect`. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output + */ + writer?: REPLWriter; + /** + * An optional function used for custom Tab auto completion. + * + * @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function + */ + completer?: Completer | AsyncCompleter; + /** + * A flag that specifies whether the default evaluator executes all JavaScript commands in + * strict mode or default (sloppy) mode. + * Accepted values are: + * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. + * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to + * prefacing every repl statement with `'use strict'`. + */ + replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; + /** + * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is + * pressed. This cannot be used together with a custom `eval` function. + * Default: `false`. + */ + breakEvalOnSigint?: boolean; + } + + type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void; + type REPLWriter = (this: REPLServer, obj: any) => string; + + /** + * This is the default "writer" value, if none is passed in the REPL options, + * and it can be overridden by custom print functions. + */ + const writer: REPLWriter & { options: InspectOptions }; + + type REPLCommandAction = (this: REPLServer, text: string) => void; + + interface REPLCommand { + /** + * Help text to be displayed when `.help` is entered. + */ + help?: string; + /** + * The function to execute, optionally accepting a single string argument. + */ + action: REPLCommandAction; + } + + /** + * Provides a customizable Read-Eval-Print-Loop (REPL). + * + * Instances of `repl.REPLServer` will accept individual lines of user input, evaluate those + * according to a user-defined evaluation function, then output the result. Input and output + * may be from `stdin` and `stdout`, respectively, or may be connected to any Node.js `stream`. + * + * Instances of `repl.REPLServer` support automatic completion of inputs, simplistic Emacs-style + * line editing, multi-line inputs, ANSI-styled output, saving and restoring current REPL session + * state, error recovery, and customizable evaluation functions. + * + * Instances of `repl.REPLServer` are created using the `repl.start()` method and _should not_ + * be created directly using the JavaScript `new` keyword. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_repl + */ + class REPLServer extends Interface { + /** + * The `vm.Context` provided to the `eval` function to be used for JavaScript + * evaluation. + */ + readonly context: Context; + /** + * The `Readable` stream from which REPL input will be read. + */ + readonly inputStream: NodeJS.ReadableStream; + /** + * The `Writable` stream to which REPL output will be written. + */ + readonly outputStream: NodeJS.WritableStream; + /** + * The commands registered via `replServer.defineCommand()`. + */ + readonly commands: { readonly [name: string]: REPLCommand | undefined }; + /** + * A value indicating whether the REPL is currently in "editor mode". + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys + */ + readonly editorMode: boolean; + /** + * A value indicating whether the `_` variable has been assigned. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly underscoreAssigned: boolean; + /** + * The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL). + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly last: any; + /** + * A value indicating whether the `_error` variable has been assigned. + * + * @since v9.8.0 + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly underscoreErrAssigned: boolean; + /** + * The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL). + * + * @since v9.8.0 + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly lastError: any; + /** + * Specified in the REPL options, this is the function to be used when evaluating each + * given line of input. If not specified in the REPL options, this is an async wrapper + * for the JavaScript `eval()` function. + */ + readonly eval: REPLEval; + /** + * Specified in the REPL options, this is a value indicating whether the default + * `writer` function should include ANSI color styling to REPL output. + */ + readonly useColors: boolean; + /** + * Specified in the REPL options, this is a value indicating whether the default `eval` + * function will use the JavaScript `global` as the context as opposed to creating a new + * separate context for the REPL instance. + */ + readonly useGlobal: boolean; + /** + * Specified in the REPL options, this is a value indicating whether the default `writer` + * function should output the result of a command if it evaluates to `undefined`. + */ + readonly ignoreUndefined: boolean; + /** + * Specified in the REPL options, this is the function to invoke to format the output of + * each command before writing to `outputStream`. If not specified in the REPL options, + * this will be a wrapper for `util.inspect`. + */ + readonly writer: REPLWriter; + /** + * Specified in the REPL options, this is the function to use for custom Tab auto-completion. + */ + readonly completer: Completer | AsyncCompleter; + /** + * Specified in the REPL options, this is a flag that specifies whether the default `eval` + * function should execute all JavaScript commands in strict mode or default (sloppy) mode. + * Possible values are: + * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. + * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to + * prefacing every repl statement with `'use strict'`. + */ + readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; + + /** + * NOTE: According to the documentation: + * + * > Instances of `repl.REPLServer` are created using the `repl.start()` method and + * > _should not_ be created directly using the JavaScript `new` keyword. + * + * `REPLServer` cannot be subclassed due to implementation specifics in NodeJS. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver + */ + private constructor(); + + /** + * Used to add new `.`-prefixed commands to the REPL instance. Such commands are invoked + * by typing a `.` followed by the `keyword`. + * + * @param keyword The command keyword (_without_ a leading `.` character). + * @param cmd The function to invoke when the command is processed. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_replserver_definecommand_keyword_cmd + */ + defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void; + /** + * Readies the REPL instance for input from the user, printing the configured `prompt` to a + * new line in the `output` and resuming the `input` to accept new input. + * + * When multi-line input is being entered, an ellipsis is printed rather than the 'prompt'. + * + * This method is primarily intended to be called from within the action function for + * commands registered using the `replServer.defineCommand()` method. + * + * @param preserveCursor When `true`, the cursor placement will not be reset to `0`. + */ + displayPrompt(preserveCursor?: boolean): void; + /** + * Clears any command that has been buffered but not yet executed. + * + * This method is primarily intended to be called from within the action function for + * commands registered using the `replServer.defineCommand()` method. + * + * @since v9.0.0 + */ + clearBufferedCommand(): void; + + /** + * Initializes a history log file for the REPL instance. When executing the + * Node.js binary and using the command line REPL, a history file is initialized + * by default. However, this is not the case when creating a REPL + * programmatically. Use this method to initialize a history log file when working + * with REPL instances programmatically. + * @param path The path to the history file + */ + setupHistory(path: string, cb: (err: Error | null, repl: this) => void): void; + + /** + * events.EventEmitter + * 1. close - inherited from `readline.Interface` + * 2. line - inherited from `readline.Interface` + * 3. pause - inherited from `readline.Interface` + * 4. resume - inherited from `readline.Interface` + * 5. SIGCONT - inherited from `readline.Interface` + * 6. SIGINT - inherited from `readline.Interface` + * 7. SIGTSTP - inherited from `readline.Interface` + * 8. exit + * 9. reset + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "line", listener: (input: string) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: "SIGCONT", listener: () => void): this; + addListener(event: "SIGINT", listener: () => void): this; + addListener(event: "SIGTSTP", listener: () => void): this; + addListener(event: "exit", listener: () => void): this; + addListener(event: "reset", listener: (context: Context) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "line", input: string): boolean; + emit(event: "pause"): boolean; + emit(event: "resume"): boolean; + emit(event: "SIGCONT"): boolean; + emit(event: "SIGINT"): boolean; + emit(event: "SIGTSTP"): boolean; + emit(event: "exit"): boolean; + emit(event: "reset", context: Context): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "line", listener: (input: string) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: "SIGCONT", listener: () => void): this; + on(event: "SIGINT", listener: () => void): this; + on(event: "SIGTSTP", listener: () => void): this; + on(event: "exit", listener: () => void): this; + on(event: "reset", listener: (context: Context) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "line", listener: (input: string) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: "SIGCONT", listener: () => void): this; + once(event: "SIGINT", listener: () => void): this; + once(event: "SIGTSTP", listener: () => void): this; + once(event: "exit", listener: () => void): this; + once(event: "reset", listener: (context: Context) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "line", listener: (input: string) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: "SIGCONT", listener: () => void): this; + prependListener(event: "SIGINT", listener: () => void): this; + prependListener(event: "SIGTSTP", listener: () => void): this; + prependListener(event: "exit", listener: () => void): this; + prependListener(event: "reset", listener: (context: Context) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "line", listener: (input: string) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: "SIGCONT", listener: () => void): this; + prependOnceListener(event: "SIGINT", listener: () => void): this; + prependOnceListener(event: "SIGTSTP", listener: () => void): this; + prependOnceListener(event: "exit", listener: () => void): this; + prependOnceListener(event: "reset", listener: (context: Context) => void): this; + } + + /** + * A flag passed in the REPL options. Evaluates expressions in sloppy mode. + */ + export const REPL_MODE_SLOPPY: symbol; // TODO: unique symbol + + /** + * A flag passed in the REPL options. Evaluates expressions in strict mode. + * This is equivalent to prefacing every repl statement with `'use strict'`. + */ + export const REPL_MODE_STRICT: symbol; // TODO: unique symbol + + /** + * Creates and starts a `repl.REPLServer` instance. + * + * @param options The options for the `REPLServer`. If `options` is a string, then it specifies + * the input prompt. + */ + function start(options?: string | ReplOptions): REPLServer; + + /** + * Indicates a recoverable error that a `REPLServer` can use to support multi-line input. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors + */ + class Recoverable extends SyntaxError { + err: Error; + + constructor(err: Error); + } +} diff --git a/node_modules/@types/node/stream.d.ts b/node_modules/@types/node/stream.d.ts new file mode 100644 index 0000000..c2a65a7 --- /dev/null +++ b/node_modules/@types/node/stream.d.ts @@ -0,0 +1,312 @@ +declare module "stream" { + import * as events from "events"; + + class internal extends events.EventEmitter { + pipe(destination: T, options?: { end?: boolean; }): T; + } + + namespace internal { + class Stream extends internal { } + + interface ReadableOptions { + highWaterMark?: number; + encoding?: string; + objectMode?: boolean; + read?(this: Readable, size: number): void; + destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void; + autoDestroy?: boolean; + } + + class Readable extends Stream implements NodeJS.ReadableStream { + /** + * A utility method for creating Readable Streams out of iterators. + */ + static from(iterable: Iterable | AsyncIterable, options?: ReadableOptions): Readable; + + readable: boolean; + readonly readableHighWaterMark: number; + readonly readableLength: number; + readonly readableObjectMode: boolean; + destroyed: boolean; + constructor(opts?: ReadableOptions); + _read(size: number): void; + read(size?: number): any; + setEncoding(encoding: string): this; + pause(): this; + resume(): this; + isPaused(): boolean; + unpipe(destination?: NodeJS.WritableStream): this; + unshift(chunk: any, encoding?: BufferEncoding): void; + wrap(oldStream: NodeJS.ReadableStream): this; + push(chunk: any, encoding?: string): boolean; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. data + * 3. end + * 4. readable + * 5. error + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: any) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "data", chunk: any): boolean; + emit(event: "end"): boolean; + emit(event: "readable"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: any) => void): this; + on(event: "end", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: any) => void): this; + once(event: "end", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: any) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: any) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "data", listener: (chunk: any) => void): this; + removeListener(event: "end", listener: () => void): this; + removeListener(event: "readable", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableOptions { + highWaterMark?: number; + decodeStrings?: boolean; + defaultEncoding?: string; + objectMode?: boolean; + emitClose?: boolean; + write?(this: Writable, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Writable, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void; + final?(this: Writable, callback: (error?: Error | null) => void): void; + autoDestroy?: boolean; + } + + class Writable extends Stream implements NodeJS.WritableStream { + readonly writable: boolean; + readonly writableFinished: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + readonly writableObjectMode: boolean; + destroyed: boolean; + constructor(opts?: WritableOptions); + _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, encoding: string, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: string): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding: string, cb?: () => void): void; + cork(): void; + uncork(): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. drain + * 3. error + * 4. finish + * 5. pipe + * 6. unpipe + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "pipe", listener: (src: Readable) => void): this; + addListener(event: "unpipe", listener: (src: Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "pipe", src: Readable): boolean; + emit(event: "unpipe", src: Readable): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "pipe", listener: (src: Readable) => void): this; + on(event: "unpipe", listener: (src: Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "pipe", listener: (src: Readable) => void): this; + once(event: "unpipe", listener: (src: Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "pipe", listener: (src: Readable) => void): this; + prependListener(event: "unpipe", listener: (src: Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "pipe", listener: (src: Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "drain", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "finish", listener: () => void): this; + removeListener(event: "pipe", listener: (src: Readable) => void): this; + removeListener(event: "unpipe", listener: (src: Readable) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DuplexOptions extends ReadableOptions, WritableOptions { + allowHalfOpen?: boolean; + readableObjectMode?: boolean; + writableObjectMode?: boolean; + read?(this: Duplex, size: number): void; + write?(this: Duplex, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + final?(this: Duplex, callback: (error?: Error | null) => void): void; + destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void; + } + + // Note: Duplex extends both Readable and Writable. + class Duplex extends Readable implements Writable { + readonly writable: boolean; + readonly writableFinished: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + readonly writableObjectMode: boolean; + constructor(opts?: DuplexOptions); + _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: string): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding?: string, cb?: () => void): void; + cork(): void; + uncork(): void; + } + + type TransformCallback = (error?: Error | null, data?: any) => void; + + interface TransformOptions extends DuplexOptions { + read?(this: Transform, size: number): void; + write?(this: Transform, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Transform, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + final?(this: Transform, callback: (error?: Error | null) => void): void; + destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void; + transform?(this: Transform, chunk: any, encoding: string, callback: TransformCallback): void; + flush?(this: Transform, callback: TransformCallback): void; + } + + class Transform extends Duplex { + constructor(opts?: TransformOptions); + _transform(chunk: any, encoding: string, callback: TransformCallback): void; + _flush(callback: TransformCallback): void; + } + + class PassThrough extends Transform { } + + function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; + namespace finished { + function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream): Promise; + } + + function pipeline(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; + function pipeline(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: T, + callback?: (err: NodeJS.ErrnoException | null) => void, + ): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: T, + callback?: (err: NodeJS.ErrnoException | null) => void, + ): T; + function pipeline(streams: Array, callback?: (err: NodeJS.ErrnoException | null) => void): NodeJS.WritableStream; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array void)>, + ): NodeJS.WritableStream; + namespace pipeline { + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: NodeJS.WritableStream, + ): Promise; + function __promisify__(streams: Array): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array, + ): Promise; + } + + interface Pipe { } + } + + export = internal; +} diff --git a/node_modules/@types/node/string_decoder.d.ts b/node_modules/@types/node/string_decoder.d.ts new file mode 100644 index 0000000..fe0e0b4 --- /dev/null +++ b/node_modules/@types/node/string_decoder.d.ts @@ -0,0 +1,7 @@ +declare module "string_decoder" { + class StringDecoder { + constructor(encoding?: string); + write(buffer: Buffer): string; + end(buffer?: Buffer): string; + } +} diff --git a/node_modules/@types/node/timers.d.ts b/node_modules/@types/node/timers.d.ts new file mode 100644 index 0000000..e64a673 --- /dev/null +++ b/node_modules/@types/node/timers.d.ts @@ -0,0 +1,16 @@ +declare module "timers" { + function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; + } + function clearTimeout(timeoutId: NodeJS.Timeout): void; + function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + function clearInterval(intervalId: NodeJS.Timeout): void; + function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; + namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; + } + function clearImmediate(immediateId: NodeJS.Immediate): void; +} diff --git a/node_modules/@types/node/tls.d.ts b/node_modules/@types/node/tls.d.ts new file mode 100644 index 0000000..3446c09 --- /dev/null +++ b/node_modules/@types/node/tls.d.ts @@ -0,0 +1,418 @@ +declare module "tls" { + import * as crypto from "crypto"; + import * as dns from "dns"; + import * as net from "net"; + import * as stream from "stream"; + + const CLIENT_RENEG_LIMIT: number; + const CLIENT_RENEG_WINDOW: number; + + interface Certificate { + /** + * Country code. + */ + C: string; + /** + * Street. + */ + ST: string; + /** + * Locality. + */ + L: string; + /** + * Organization. + */ + O: string; + /** + * Organizational unit. + */ + OU: string; + /** + * Common name. + */ + CN: string; + } + + interface PeerCertificate { + subject: Certificate; + issuer: Certificate; + subjectaltname: string; + infoAccess: { [index: string]: string[] | undefined }; + modulus: string; + exponent: string; + valid_from: string; + valid_to: string; + fingerprint: string; + ext_key_usage: string[]; + serialNumber: string; + raw: Buffer; + } + + interface DetailedPeerCertificate extends PeerCertificate { + issuerCertificate: DetailedPeerCertificate; + } + + interface CipherNameAndProtocol { + /** + * The cipher name. + */ + name: string; + /** + * SSL/TLS protocol version. + */ + version: string; + } + + export interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions { + /** + * If true the TLS socket will be instantiated in server-mode. + * Defaults to false. + */ + isServer?: boolean; + /** + * An optional net.Server instance. + */ + server?: net.Server; + + /** + * An optional Buffer instance containing a TLS session. + */ + session?: Buffer; + /** + * If true, specifies that the OCSP status request extension will be + * added to the client hello and an 'OCSPResponse' event will be + * emitted on the socket before establishing a secure communication + */ + requestOCSP?: boolean; + } + + class TLSSocket extends net.Socket { + /** + * Construct a new tls.TLSSocket object from an existing TCP socket. + */ + constructor(socket: net.Socket, options?: TLSSocketOptions); + + /** + * A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false. + */ + authorized: boolean; + /** + * The reason why the peer's certificate has not been verified. + * This property becomes available only when tlsSocket.authorized === false. + */ + authorizationError: Error; + /** + * Static boolean value, always true. + * May be used to distinguish TLS sockets from regular ones. + */ + encrypted: boolean; + + /** + * String containing the selected ALPN protocol. + * When ALPN has no selected protocol, tlsSocket.alpnProtocol equals false. + */ + alpnProtocol?: string; + + /** + * Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection. + * @returns Returns an object representing the cipher name + * and the SSL/TLS protocol version of the current connection. + */ + getCipher(): CipherNameAndProtocol; + /** + * Returns an object representing the peer's certificate. + * The returned object has some properties corresponding to the field of the certificate. + * If detailed argument is true the full chain with issuer property will be returned, + * if false only the top certificate without issuer property. + * If the peer does not provide a certificate, it returns null or an empty object. + * @param detailed - If true; the full chain with issuer property will be returned. + * @returns An object representing the peer's certificate. + */ + getPeerCertificate(detailed: true): DetailedPeerCertificate; + getPeerCertificate(detailed?: false): PeerCertificate; + getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate; + /** + * Returns a string containing the negotiated SSL/TLS protocol version of the current connection. + * The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process. + * The value `null` will be returned for server sockets or disconnected client sockets. + * See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information. + * @returns negotiated SSL/TLS protocol version of the current connection + */ + getProtocol(): string | null; + /** + * Could be used to speed up handshake establishment when reconnecting to the server. + * @returns ASN.1 encoded TLS session or undefined if none was negotiated. + */ + getSession(): Buffer | undefined; + /** + * NOTE: Works only with client TLS sockets. + * Useful only for debugging, for session reuse provide session option to tls.connect(). + * @returns TLS session ticket or undefined if none was negotiated. + */ + getTLSTicket(): Buffer | undefined; + /** + * Initiate TLS renegotiation process. + * + * NOTE: Can be used to request peer's certificate after the secure connection has been established. + * ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout. + * @param options - The options may contain the following fields: rejectUnauthorized, + * requestCert (See tls.createServer() for details). + * @param callback - callback(err) will be executed with null as err, once the renegotiation + * is successfully completed. + * @return `undefined` when socket is destroy, `false` if negotiaion can't be initiated. + */ + renegotiate(options: { rejectUnauthorized?: boolean, requestCert?: boolean }, callback: (err: Error | null) => void): undefined | boolean; + /** + * Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * Smaller fragment size decreases buffering latency on the client: large fragments are buffered by + * the TLS layer until the entire fragment is received and its integrity is verified; + * large fragments can span multiple roundtrips, and their processing can be delayed due to packet + * loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead, + * which may decrease overall server throughput. + * @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * @returns Returns true on success, false otherwise. + */ + setMaxSendFragment(size: number): boolean; + + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * + * Note: The format of the output is identical to the output of `openssl s_client + * -trace` or `openssl s_server -trace`. While it is produced by OpenSSL's + * `SSL_trace()` function, the format is undocumented, can change without notice, + * and should not be relied on. + */ + enableTrace(): void; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + addListener(event: "secureConnect", listener: () => void): this; + addListener(event: "session", listener: (session: Buffer) => void): this; + addListener(event: "keylog", listener: (line: Buffer) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "OCSPResponse", response: Buffer): boolean; + emit(event: "secureConnect"): boolean; + emit(event: "session", session: Buffer): boolean; + emit(event: "keylog", line: Buffer): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "OCSPResponse", listener: (response: Buffer) => void): this; + on(event: "secureConnect", listener: () => void): this; + on(event: "session", listener: (session: Buffer) => void): this; + on(event: "keylog", listener: (line: Buffer) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "OCSPResponse", listener: (response: Buffer) => void): this; + once(event: "secureConnect", listener: () => void): this; + once(event: "session", listener: (session: Buffer) => void): this; + once(event: "keylog", listener: (line: Buffer) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependListener(event: "secureConnect", listener: () => void): this; + prependListener(event: "session", listener: (session: Buffer) => void): this; + prependListener(event: "keylog", listener: (line: Buffer) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependOnceListener(event: "secureConnect", listener: () => void): this; + prependOnceListener(event: "session", listener: (session: Buffer) => void): this; + prependOnceListener(event: "keylog", listener: (line: Buffer) => void): this; + } + + interface CommonConnectionOptions { + /** + * An optional TLS context object from tls.createSecureContext() + */ + secureContext?: SecureContext; + + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * @default false + */ + enableTrace?: boolean; + /** + * If true the server will request a certificate from clients that + * connect and attempt to verify that certificate. Defaults to + * false. + */ + requestCert?: boolean; + /** + * An array of strings or a Buffer naming possible ALPN protocols. + * (Protocols should be ordered by their priority.) + */ + ALPNProtocols?: string[] | Uint8Array[] | Uint8Array; + /** + * SNICallback(servername, cb) A function that will be + * called if the client supports SNI TLS extension. Two arguments + * will be passed when called: servername and cb. SNICallback should + * invoke cb(null, ctx), where ctx is a SecureContext instance. + * (tls.createSecureContext(...) can be used to get a proper + * SecureContext.) If SNICallback wasn't provided the default callback + * with high-level API will be used (see below). + */ + SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void; + /** + * If true the server will reject any connection which is not + * authorized with the list of supplied CAs. This option only has an + * effect if requestCert is true. + * @default true + */ + rejectUnauthorized?: boolean; + } + + interface TlsOptions extends SecureContextOptions, CommonConnectionOptions { + handshakeTimeout?: number; + sessionTimeout?: number; + ticketKeys?: Buffer; + } + + interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions { + host?: string; + port?: number; + path?: string; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. + socket?: net.Socket; // Establish secure connection on a given socket rather than creating a new socket + checkServerIdentity?: typeof checkServerIdentity; + servername?: string; // SNI TLS Extension + session?: Buffer; + minDHSize?: number; + lookup?: net.LookupFunction; + timeout?: number; + } + + class Server extends net.Server { + addContext(hostName: string, credentials: SecureContextOptions): void; + + /** + * events.EventEmitter + * 1. tlsClientError + * 2. newSession + * 3. OCSPRequest + * 4. resumeSession + * 5. secureConnection + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + addListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + addListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + addListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean; + emit(event: "newSession", sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean; + emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean; + emit(event: "resumeSession", sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean; + emit(event: "secureConnection", tlsSocket: TLSSocket): boolean; + emit(event: "keylog", line: Buffer, tlsSocket: TLSSocket): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + on(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + on(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + on(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + once(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + once(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + once(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + prependListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + prependListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependOnceListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + prependOnceListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + prependOnceListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + } + + interface SecurePair { + encrypted: TLSSocket; + cleartext: TLSSocket; + } + + type SecureVersion = 'TLSv1.3' | 'TLSv1.2' | 'TLSv1.1' | 'TLSv1'; + + interface SecureContextOptions { + pfx?: string | Buffer | Array; + key?: string | Buffer | Array; + passphrase?: string; + cert?: string | Buffer | Array; + ca?: string | Buffer | Array; + ciphers?: string; + honorCipherOrder?: boolean; + ecdhCurve?: string; + clientCertEngine?: string; + crl?: string | Buffer | Array; + dhparam?: string | Buffer; + secureOptions?: number; // Value is a numeric bitmask of the `SSL_OP_*` options + secureProtocol?: string; // SSL Method, e.g. SSLv23_method + sessionIdContext?: string; + /** + * Optionally set the maximum TLS version to allow. One + * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the + * `secureProtocol` option, use one or the other. + * **Default:** `'TLSv1.3'`, unless changed using CLI options. Using + * `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to + * `'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used. + */ + maxVersion?: SecureVersion; + /** + * Optionally set the minimum TLS version to allow. One + * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the + * `secureProtocol` option, use one or the other. It is not recommended to use + * less than TLSv1.2, but it may be required for interoperability. + * **Default:** `'TLSv1.2'`, unless changed using CLI options. Using + * `--tls-v1.0` sets the default to `'TLSv1'`. Using `--tls-v1.1` sets the default to + * `'TLSv1.1'`. Using `--tls-min-v1.3` sets the default to + * 'TLSv1.3'. If multiple of the options are provided, the lowest minimum is used. + */ + minVersion?: SecureVersion; + } + + interface SecureContext { + context: any; + } + + /* + * Verifies the certificate `cert` is issued to host `host`. + * @host The hostname to verify the certificate against + * @cert PeerCertificate representing the peer's certificate + * + * Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined. + */ + function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined; + function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server; + function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server; + function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + /** + * @deprecated + */ + function createSecurePair(credentials?: SecureContext, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair; + function createSecureContext(details: SecureContextOptions): SecureContext; + function getCiphers(): string[]; + + const DEFAULT_ECDH_CURVE: string; + + const rootCertificates: ReadonlyArray; +} diff --git a/node_modules/@types/node/trace_events.d.ts b/node_modules/@types/node/trace_events.d.ts new file mode 100644 index 0000000..9d1a59b --- /dev/null +++ b/node_modules/@types/node/trace_events.d.ts @@ -0,0 +1,61 @@ +declare module "trace_events" { + /** + * The `Tracing` object is used to enable or disable tracing for sets of + * categories. Instances are created using the + * `trace_events.createTracing()` method. + * + * When created, the `Tracing` object is disabled. Calling the + * `tracing.enable()` method adds the categories to the set of enabled trace + * event categories. Calling `tracing.disable()` will remove the categories + * from the set of enabled trace event categories. + */ + export interface Tracing { + /** + * A comma-separated list of the trace event categories covered by this + * `Tracing` object. + */ + readonly categories: string; + + /** + * Disables this `Tracing` object. + * + * Only trace event categories _not_ covered by other enabled `Tracing` + * objects and _not_ specified by the `--trace-event-categories` flag + * will be disabled. + */ + disable(): void; + + /** + * Enables this `Tracing` object for the set of categories covered by + * the `Tracing` object. + */ + enable(): void; + + /** + * `true` only if the `Tracing` object has been enabled. + */ + readonly enabled: boolean; + } + + interface CreateTracingOptions { + /** + * An array of trace category names. Values included in the array are + * coerced to a string when possible. An error will be thrown if the + * value cannot be coerced. + */ + categories: string[]; + } + + /** + * Creates and returns a Tracing object for the given set of categories. + */ + export function createTracing(options: CreateTracingOptions): Tracing; + + /** + * Returns a comma-separated list of all currently-enabled trace event + * categories. The current set of enabled trace event categories is + * determined by the union of all currently-enabled `Tracing` objects and + * any categories enabled using the `--trace-event-categories` flag. + */ + export function getEnabledCategories(): string; +} diff --git a/node_modules/@types/node/ts3.2/fs.d.ts b/node_modules/@types/node/ts3.2/fs.d.ts new file mode 100644 index 0000000..0a9eae0 --- /dev/null +++ b/node_modules/@types/node/ts3.2/fs.d.ts @@ -0,0 +1,33 @@ +// tslint:disable-next-line:no-bad-reference +/// + +declare module 'fs' { + interface BigIntStats extends StatsBase { + } + + class BigIntStats { + atimeNs: BigInt; + mtimeNs: BigInt; + ctimeNs: BigInt; + birthtimeNs: BigInt; + } + + interface BigIntOptions { + bigint: true; + } + + interface StatOptions { + bigint: boolean; + } + + function stat(path: PathLike, options: BigIntOptions, callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void): void; + function stat(path: PathLike, options: StatOptions, callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void): void; + + namespace stat { + function __promisify__(path: PathLike, options: BigIntOptions): Promise; + function __promisify__(path: PathLike, options: StatOptions): Promise; + } + + function statSync(path: PathLike, options: BigIntOptions): BigIntStats; + function statSync(path: PathLike, options: StatOptions): Stats | BigIntStats; +} diff --git a/node_modules/@types/node/ts3.2/globals.d.ts b/node_modules/@types/node/ts3.2/globals.d.ts new file mode 100644 index 0000000..70892bc --- /dev/null +++ b/node_modules/@types/node/ts3.2/globals.d.ts @@ -0,0 +1,19 @@ +// tslint:disable-next-line:no-bad-reference +/// + +declare namespace NodeJS { + interface HRTime { + bigint(): bigint; + } +} + +interface Buffer extends Uint8Array { + readBigUInt64BE(offset?: number): bigint; + readBigUInt64LE(offset?: number): bigint; + readBigInt64BE(offset?: number): bigint; + readBigInt64LE(offset?: number): bigint; + writeBigInt64BE(value: bigint, offset?: number): number; + writeBigInt64LE(value: bigint, offset?: number): number; + writeBigUInt64BE(value: bigint, offset?: number): number; + writeBigUInt64LE(value: bigint, offset?: number): number; +} diff --git a/node_modules/@types/node/ts3.2/index.d.ts b/node_modules/@types/node/ts3.2/index.d.ts new file mode 100644 index 0000000..ee07693 --- /dev/null +++ b/node_modules/@types/node/ts3.2/index.d.ts @@ -0,0 +1,21 @@ +// NOTE: These definitions support NodeJS and TypeScript 3.2. + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.1 +// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2 + +// Reference required types from the default lib: +/// +/// +/// +/// + +// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: +// tslint:disable-next-line:no-bad-reference +/// + +// TypeScript 3.2-specific augmentations: +/// +/// +/// diff --git a/node_modules/@types/node/ts3.2/util.d.ts b/node_modules/@types/node/ts3.2/util.d.ts new file mode 100644 index 0000000..a8b2487 --- /dev/null +++ b/node_modules/@types/node/ts3.2/util.d.ts @@ -0,0 +1,15 @@ +// tslint:disable-next-line:no-bad-reference +/// + +declare module "util" { + namespace inspect { + const custom: unique symbol; + } + namespace promisify { + const custom: unique symbol; + } + namespace types { + function isBigInt64Array(value: any): value is BigInt64Array; + function isBigUint64Array(value: any): value is BigUint64Array; + } +} diff --git a/node_modules/@types/node/tty.d.ts b/node_modules/@types/node/tty.d.ts new file mode 100644 index 0000000..22bce21 --- /dev/null +++ b/node_modules/@types/node/tty.d.ts @@ -0,0 +1,66 @@ +declare module "tty" { + import * as net from "net"; + + function isatty(fd: number): boolean; + class ReadStream extends net.Socket { + constructor(fd: number, options?: net.SocketConstructorOpts); + isRaw: boolean; + setRawMode(mode: boolean): void; + isTTY: boolean; + } + /** + * -1 - to the left from cursor + * 0 - the entire line + * 1 - to the right from cursor + */ + type Direction = -1 | 0 | 1; + class WriteStream extends net.Socket { + constructor(fd: number); + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "resize", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "resize"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "resize", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "resize", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "resize", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "resize", listener: () => void): this; + + /** + * Clears the current line of this WriteStream in a direction identified by `dir`. + */ + clearLine(dir: Direction, callback?: () => void): boolean; + /** + * Clears this `WriteStream` from the current cursor down. + */ + clearScreenDown(callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor to the specified position. + */ + cursorTo(x: number, y?: number, callback?: () => void): boolean; + cursorTo(x: number, callback: () => void): boolean; + /** + * Moves this WriteStream's cursor relative to its current position. + */ + moveCursor(dx: number, dy: number, callback?: () => void): boolean; + /** + * @default `process.env` + */ + getColorDepth(env?: {}): number; + hasColors(depth?: number): boolean; + hasColors(env?: {}): boolean; + hasColors(depth: number, env?: {}): boolean; + getWindowSize(): [number, number]; + columns: number; + rows: number; + isTTY: boolean; + } +} diff --git a/node_modules/@types/node/url.d.ts b/node_modules/@types/node/url.d.ts new file mode 100644 index 0000000..51dcd69 --- /dev/null +++ b/node_modules/@types/node/url.d.ts @@ -0,0 +1,104 @@ +declare module "url" { + import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring'; + + interface UrlObjectCommon { + auth?: string; + hash?: string; + host?: string; + hostname?: string; + href?: string; + path?: string; + pathname?: string; + protocol?: string; + search?: string; + slashes?: boolean; + } + + // Input to `url.format` + interface UrlObject extends UrlObjectCommon { + port?: string | number; + query?: string | null | ParsedUrlQueryInput; + } + + // Output of `url.parse` + interface Url extends UrlObjectCommon { + port?: string; + query?: string | null | ParsedUrlQuery; + } + + interface UrlWithParsedQuery extends Url { + query: ParsedUrlQuery; + } + + interface UrlWithStringQuery extends Url { + query: string | null; + } + + function parse(urlStr: string): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery; + function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url; + + function format(URL: URL, options?: URLFormatOptions): string; + function format(urlObject: UrlObject | string): string; + function resolve(from: string, to: string): string; + + function domainToASCII(domain: string): string; + function domainToUnicode(domain: string): string; + + /** + * This function ensures the correct decodings of percent-encoded characters as + * well as ensuring a cross-platform valid absolute path string. + * @param url The file URL string or URL object to convert to a path. + */ + function fileURLToPath(url: string | URL): string; + + /** + * This function ensures that path is resolved absolutely, and that the URL + * control characters are correctly encoded when converting into a File URL. + * @param url The path to convert to a File URL. + */ + function pathToFileURL(url: string): URL; + + interface URLFormatOptions { + auth?: boolean; + fragment?: boolean; + search?: boolean; + unicode?: boolean; + } + + class URL { + constructor(input: string, base?: string | URL); + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toString(): string; + toJSON(): string; + } + + class URLSearchParams implements Iterable<[string, string]> { + constructor(init?: URLSearchParams | string | { [key: string]: string | string[] | undefined } | Iterable<[string, string]> | Array<[string, string]>); + append(name: string, value: string): void; + delete(name: string): void; + entries(): IterableIterator<[string, string]>; + forEach(callback: (value: string, name: string, searchParams: this) => void): void; + get(name: string): string | null; + getAll(name: string): string[]; + has(name: string): boolean; + keys(): IterableIterator; + set(name: string, value: string): void; + sort(): void; + toString(): string; + values(): IterableIterator; + [Symbol.iterator](): IterableIterator<[string, string]>; + } +} diff --git a/node_modules/@types/node/util.d.ts b/node_modules/@types/node/util.d.ts new file mode 100644 index 0000000..e0b6c89 --- /dev/null +++ b/node_modules/@types/node/util.d.ts @@ -0,0 +1,180 @@ +declare module "util" { + interface InspectOptions extends NodeJS.InspectOptions { } + function format(format: any, ...param: any[]): string; + function formatWithOptions(inspectOptions: InspectOptions, format: string, ...param: any[]): string; + /** @deprecated since v0.11.3 - use a third party module instead. */ + function log(string: string): void; + function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; + function inspect(object: any, options: InspectOptions): string; + namespace inspect { + let colors: { + [color: string]: [number, number] | undefined + }; + let styles: { + [style: string]: string | undefined + }; + let defaultOptions: InspectOptions; + /** + * Allows changing inspect settings from the repl. + */ + let replDefaults: InspectOptions; + } + /** @deprecated since v4.0.0 - use `Array.isArray()` instead. */ + function isArray(object: any): object is any[]; + /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ + function isRegExp(object: any): object is RegExp; + /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ + function isDate(object: any): object is Date; + /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ + function isError(object: any): object is Error; + function inherits(constructor: any, superConstructor: any): void; + function debuglog(key: string): (msg: string, ...param: any[]) => void; + /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ + function isBoolean(object: any): object is boolean; + /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ + function isBuffer(object: any): object is Buffer; + /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ + function isFunction(object: any): boolean; + /** @deprecated since v4.0.0 - use `value === null` instead. */ + function isNull(object: any): object is null; + /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ + function isNullOrUndefined(object: any): object is null | undefined; + /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ + function isNumber(object: any): object is number; + /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ + function isObject(object: any): boolean; + /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ + function isPrimitive(object: any): boolean; + /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ + function isString(object: any): object is string; + /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ + function isSymbol(object: any): object is symbol; + /** @deprecated since v4.0.0 - use `value === undefined` instead. */ + function isUndefined(object: any): object is undefined; + function deprecate(fn: T, message: string, code?: string): T; + function isDeepStrictEqual(val1: any, val2: any): boolean; + + interface CustomPromisify extends Function { + __promisify__: TCustom; + } + + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + + function promisify(fn: CustomPromisify): TCustom; + function promisify(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise; + function promisify(fn: (callback: (err?: any) => void) => void): () => Promise; + function promisify(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): + (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): + (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify(fn: Function): Function; + + namespace types { + function isAnyArrayBuffer(object: any): boolean; + function isArgumentsObject(object: any): object is IArguments; + function isArrayBuffer(object: any): object is ArrayBuffer; + function isAsyncFunction(object: any): boolean; + function isBooleanObject(object: any): object is Boolean; + function isBoxedPrimitive(object: any): object is (Number | Boolean | String | Symbol /* | Object(BigInt) | Object(Symbol) */); + function isDataView(object: any): object is DataView; + function isDate(object: any): object is Date; + function isExternal(object: any): boolean; + function isFloat32Array(object: any): object is Float32Array; + function isFloat64Array(object: any): object is Float64Array; + function isGeneratorFunction(object: any): boolean; + function isGeneratorObject(object: any): boolean; + function isInt8Array(object: any): object is Int8Array; + function isInt16Array(object: any): object is Int16Array; + function isInt32Array(object: any): object is Int32Array; + function isMap(object: any): boolean; + function isMapIterator(object: any): boolean; + function isModuleNamespaceObject(value: any): boolean; + function isNativeError(object: any): object is Error; + function isNumberObject(object: any): object is Number; + function isPromise(object: any): boolean; + function isProxy(object: any): boolean; + function isRegExp(object: any): object is RegExp; + function isSet(object: any): boolean; + function isSetIterator(object: any): boolean; + function isSharedArrayBuffer(object: any): boolean; + function isStringObject(object: any): boolean; + function isSymbolObject(object: any): boolean; + function isTypedArray(object: any): object is NodeJS.TypedArray; + function isUint8Array(object: any): object is Uint8Array; + function isUint8ClampedArray(object: any): object is Uint8ClampedArray; + function isUint16Array(object: any): object is Uint16Array; + function isUint32Array(object: any): object is Uint32Array; + function isWeakMap(object: any): boolean; + function isWeakSet(object: any): boolean; + function isWebAssemblyCompiledModule(object: any): boolean; + } + + class TextDecoder { + readonly encoding: string; + readonly fatal: boolean; + readonly ignoreBOM: boolean; + constructor( + encoding?: string, + options?: { fatal?: boolean; ignoreBOM?: boolean } + ); + decode( + input?: NodeJS.ArrayBufferView | ArrayBuffer | null, + options?: { stream?: boolean } + ): string; + } + + interface EncodeIntoResult { + /** + * The read Unicode code units of input. + */ + + read: number; + /** + * The written UTF-8 bytes of output. + */ + written: number; + } + + class TextEncoder { + readonly encoding: string; + encode(input?: string): Uint8Array; + encodeInto(input: string, output: Uint8Array): EncodeIntoResult; + } +} diff --git a/node_modules/@types/node/v8.d.ts b/node_modules/@types/node/v8.d.ts new file mode 100644 index 0000000..2e2706e --- /dev/null +++ b/node_modules/@types/node/v8.d.ts @@ -0,0 +1,197 @@ +declare module "v8" { + import { Readable } from "stream"; + + interface HeapSpaceInfo { + space_name: string; + space_size: number; + space_used_size: number; + space_available_size: number; + physical_space_size: number; + } + + // ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */ + type DoesZapCodeSpaceFlag = 0 | 1; + + interface HeapInfo { + total_heap_size: number; + total_heap_size_executable: number; + total_physical_size: number; + total_available_size: number; + used_heap_size: number; + heap_size_limit: number; + malloced_memory: number; + peak_malloced_memory: number; + does_zap_garbage: DoesZapCodeSpaceFlag; + number_of_native_contexts: number; + number_of_detached_contexts: number; + } + + interface HeapCodeStatistics { + code_and_metadata_size: number; + bytecode_and_metadata_size: number; + external_script_source_size: number; + } + + /** + * Returns an integer representing a "version tag" derived from the V8 version, command line flags and detected CPU features. + * This is useful for determining whether a vm.Script cachedData buffer is compatible with this instance of V8. + */ + function cachedDataVersionTag(): number; + + function getHeapStatistics(): HeapInfo; + function getHeapSpaceStatistics(): HeapSpaceInfo[]; + function setFlagsFromString(flags: string): void; + /** + * Generates a snapshot of the current V8 heap and returns a Readable + * Stream that may be used to read the JSON serialized representation. + * This conversation was marked as resolved by joyeecheung + * This JSON stream format is intended to be used with tools such as + * Chrome DevTools. The JSON schema is undocumented and specific to the + * V8 engine, and may change from one version of V8 to the next. + */ + function getHeapSnapshot(): Readable; + + /** + * + * @param fileName The file path where the V8 heap snapshot is to be + * saved. If not specified, a file name with the pattern + * `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be + * generated, where `{pid}` will be the PID of the Node.js process, + * `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from + * the main Node.js thread or the id of a worker thread. + */ + function writeHeapSnapshot(fileName?: string): string; + + function getHeapCodeStatistics(): HeapCodeStatistics; + + /** + * @experimental + */ + class Serializer { + /** + * Writes out a header, which includes the serialization format version. + */ + writeHeader(): void; + + /** + * Serializes a JavaScript value and adds the serialized representation to the internal buffer. + * This throws an error if value cannot be serialized. + */ + writeValue(val: any): boolean; + + /** + * Returns the stored internal buffer. + * This serializer should not be used once the buffer is released. + * Calling this method results in undefined behavior if a previous write has failed. + */ + releaseBuffer(): Buffer; + + /** + * Marks an ArrayBuffer as having its contents transferred out of band.\ + * Pass the corresponding ArrayBuffer in the deserializing context to deserializer.transferArrayBuffer(). + */ + transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; + + /** + * Write a raw 32-bit unsigned integer. + */ + writeUint32(value: number): void; + + /** + * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts. + */ + writeUint64(hi: number, lo: number): void; + + /** + * Write a JS number value. + */ + writeDouble(value: number): void; + + /** + * Write raw bytes into the serializer’s internal buffer. + * The deserializer will require a way to compute the length of the buffer. + */ + writeRawBytes(buffer: NodeJS.TypedArray): void; + } + + /** + * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, + * and only stores the part of their underlying `ArrayBuffers` that they are referring to. + * @experimental + */ + class DefaultSerializer extends Serializer { + } + + /** + * @experimental + */ + class Deserializer { + constructor(data: NodeJS.TypedArray); + /** + * Reads and validates a header (including the format version). + * May, for example, reject an invalid or unsupported wire format. + * In that case, an Error is thrown. + */ + readHeader(): boolean; + + /** + * Deserializes a JavaScript value from the buffer and returns it. + */ + readValue(): any; + + /** + * Marks an ArrayBuffer as having its contents transferred out of band. + * Pass the corresponding `ArrayBuffer` in the serializing context to serializer.transferArrayBuffer() + * (or return the id from serializer._getSharedArrayBufferId() in the case of SharedArrayBuffers). + */ + transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; + + /** + * Reads the underlying wire format version. + * Likely mostly to be useful to legacy code reading old wire format versions. + * May not be called before .readHeader(). + */ + getWireFormatVersion(): number; + + /** + * Read a raw 32-bit unsigned integer and return it. + */ + readUint32(): number; + + /** + * Read a raw 64-bit unsigned integer and return it as an array [hi, lo] with two 32-bit unsigned integer entries. + */ + readUint64(): [number, number]; + + /** + * Read a JS number value. + */ + readDouble(): number; + + /** + * Read raw bytes from the deserializer’s internal buffer. + * The length parameter must correspond to the length of the buffer that was passed to serializer.writeRawBytes(). + */ + readRawBytes(length: number): Buffer; + } + + /** + * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, + * and only stores the part of their underlying `ArrayBuffers` that they are referring to. + * @experimental + */ + class DefaultDeserializer extends Deserializer { + } + + /** + * Uses a `DefaultSerializer` to serialize value into a buffer. + * @experimental + */ + function serialize(value: any): Buffer; + + /** + * Uses a `DefaultDeserializer` with default options to read a JS value from a buffer. + * @experimental + */ + function deserialize(data: NodeJS.TypedArray): any; +} diff --git a/node_modules/@types/node/vm.d.ts b/node_modules/@types/node/vm.d.ts new file mode 100644 index 0000000..208498c --- /dev/null +++ b/node_modules/@types/node/vm.d.ts @@ -0,0 +1,110 @@ +declare module "vm" { + interface Context { + [key: string]: any; + } + interface BaseOptions { + /** + * Specifies the filename used in stack traces produced by this script. + * Default: `''`. + */ + filename?: string; + /** + * Specifies the line number offset that is displayed in stack traces produced by this script. + * Default: `0`. + */ + lineOffset?: number; + /** + * Specifies the column number offset that is displayed in stack traces produced by this script. + * Default: `0` + */ + columnOffset?: number; + } + interface ScriptOptions extends BaseOptions { + displayErrors?: boolean; + timeout?: number; + cachedData?: Buffer; + produceCachedData?: boolean; + } + interface RunningScriptOptions extends BaseOptions { + /** + * When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace. + * Default: `true`. + */ + displayErrors?: boolean; + /** + * Specifies the number of milliseconds to execute code before terminating execution. + * If execution is terminated, an `Error` will be thrown. This value must be a strictly positive integer. + */ + timeout?: number; + /** + * If `true`, the execution will be terminated when `SIGINT` (Ctrl+C) is received. + * Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that. + * If execution is terminated, an `Error` will be thrown. + * Default: `false`. + */ + breakOnSigint?: boolean; + } + interface CompileFunctionOptions extends BaseOptions { + /** + * Provides an optional data with V8's code cache data for the supplied source. + */ + cachedData?: Buffer; + /** + * Specifies whether to produce new cache data. + * Default: `false`, + */ + produceCachedData?: boolean; + /** + * The sandbox/context in which the said function should be compiled in. + */ + parsingContext?: Context; + + /** + * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling + */ + contextExtensions?: Object[]; + } + + interface CreateContextOptions { + /** + * Human-readable name of the newly created context. + * @default 'VM Context i' Where i is an ascending numerical index of the created context. + */ + name?: string; + /** + * Corresponds to the newly created context for display purposes. + * The origin should be formatted like a `URL`, but with only the scheme, host, and port (if necessary), + * like the value of the `url.origin` property of a URL object. + * Most notably, this string should omit the trailing slash, as that denotes a path. + * @default '' + */ + origin?: string; + codeGeneration?: { + /** + * If set to false any calls to eval or function constructors (Function, GeneratorFunction, etc) + * will throw an EvalError. + * @default true + */ + strings?: boolean; + /** + * If set to false any attempt to compile a WebAssembly module will throw a WebAssembly.CompileError. + * @default true + */ + wasm?: boolean; + }; + } + + class Script { + constructor(code: string, options?: ScriptOptions); + runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any; + runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any; + runInThisContext(options?: RunningScriptOptions): any; + createCachedData(): Buffer; + } + function createContext(sandbox?: Context, options?: CreateContextOptions): Context; + function isContext(sandbox: Context): boolean; + function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any; + function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any; + function runInThisContext(code: string, options?: RunningScriptOptions | string): any; + function compileFunction(code: string, params: string[], options: CompileFunctionOptions): Function; +} diff --git a/node_modules/@types/node/worker_threads.d.ts b/node_modules/@types/node/worker_threads.d.ts new file mode 100644 index 0000000..45ea85e --- /dev/null +++ b/node_modules/@types/node/worker_threads.d.ts @@ -0,0 +1,153 @@ +declare module "worker_threads" { + import { Context } from "vm"; + import { EventEmitter } from "events"; + import { Readable, Writable } from "stream"; + + const isMainThread: boolean; + const parentPort: null | MessagePort; + const threadId: number; + const workerData: any; + + class MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; + } + + class MessagePort extends EventEmitter { + close(): void; + postMessage(value: any, transferList?: Array): void; + ref(): void; + unref(): void; + start(): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "message", listener: (value: any) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "message", value: any): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "message", listener: (value: any) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "message", listener: (value: any) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "message", listener: (value: any) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "message", listener: (value: any) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "message", listener: (value: any) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + off(event: "close", listener: () => void): this; + off(event: "message", listener: (value: any) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface WorkerOptions { + eval?: boolean; + workerData?: any; + stdin?: boolean; + stdout?: boolean; + stderr?: boolean; + execArgv?: string[]; + } + + class Worker extends EventEmitter { + readonly stdin: Writable | null; + readonly stdout: Readable; + readonly stderr: Readable; + readonly threadId: number; + + constructor(filename: string, options?: WorkerOptions); + + postMessage(value: any, transferList?: Array): void; + ref(): void; + unref(): void; + /** + * Stop all JavaScript execution in the worker thread as soon as possible. + * Returns a Promise for the exit code that is fulfilled when the `exit` event is emitted. + */ + terminate(): Promise; + /** + * Transfer a `MessagePort` to a different `vm` Context. The original `port` + * object will be rendered unusable, and the returned `MessagePort` instance will + * take its place. + * + * The returned `MessagePort` will be an object in the target context, and will + * inherit from its global `Object` class. Objects passed to the + * `port.onmessage()` listener will also be created in the target context + * and inherit from its global `Object` class. + * + * However, the created `MessagePort` will no longer inherit from + * `EventEmitter`, and only `port.onmessage()` can be used to receive + * events using it. + */ + moveMessagePortToContext(port: MessagePort, context: Context): MessagePort; + + /** + * Receive a single message from a given `MessagePort`. If no message is available, + * `undefined` is returned, otherwise an object with a single `message` property + * that contains the message payload, corresponding to the oldest message in the + * `MessagePort`’s queue. + */ + receiveMessageOnPort(port: MessagePort): {} | undefined; + + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "exit", listener: (exitCode: number) => void): this; + addListener(event: "message", listener: (value: any) => void): this; + addListener(event: "online", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "error", err: Error): boolean; + emit(event: "exit", exitCode: number): boolean; + emit(event: "message", value: any): boolean; + emit(event: "online"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "error", listener: (err: Error) => void): this; + on(event: "exit", listener: (exitCode: number) => void): this; + on(event: "message", listener: (value: any) => void): this; + on(event: "online", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "error", listener: (err: Error) => void): this; + once(event: "exit", listener: (exitCode: number) => void): this; + once(event: "message", listener: (value: any) => void): this; + once(event: "online", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "exit", listener: (exitCode: number) => void): this; + prependListener(event: "message", listener: (value: any) => void): this; + prependListener(event: "online", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "exit", listener: (exitCode: number) => void): this; + prependOnceListener(event: "message", listener: (value: any) => void): this; + prependOnceListener(event: "online", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "exit", listener: (exitCode: number) => void): this; + removeListener(event: "message", listener: (value: any) => void): this; + removeListener(event: "online", listener: () => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + off(event: "error", listener: (err: Error) => void): this; + off(event: "exit", listener: (exitCode: number) => void): this; + off(event: "message", listener: (value: any) => void): this; + off(event: "online", listener: () => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + } +} diff --git a/node_modules/@types/node/zlib.d.ts b/node_modules/@types/node/zlib.d.ts new file mode 100644 index 0000000..a03e900 --- /dev/null +++ b/node_modules/@types/node/zlib.d.ts @@ -0,0 +1,352 @@ +declare module "zlib" { + import * as stream from "stream"; + + interface ZlibOptions { + /** + * @default constants.Z_NO_FLUSH + */ + flush?: number; + /** + * @default constants.Z_FINISH + */ + finishFlush?: number; + /** + * @default 16*1024 + */ + chunkSize?: number; + windowBits?: number; + level?: number; // compression only + memLevel?: number; // compression only + strategy?: number; // compression only + dictionary?: NodeJS.ArrayBufferView | ArrayBuffer; // deflate/inflate only, empty dictionary by default + } + + interface BrotliOptions { + /** + * @default constants.BROTLI_OPERATION_PROCESS + */ + flush?: number; + /** + * @default constants.BROTLI_OPERATION_FINISH + */ + finishFlush?: number; + /** + * @default 16*1024 + */ + chunkSize?: number; + params?: { + /** + * Each key is a `constants.BROTLI_*` constant. + */ + [key: number]: boolean | number; + }; + } + + interface Zlib { + /** @deprecated Use bytesWritten instead. */ + readonly bytesRead: number; + readonly bytesWritten: number; + shell?: boolean | string; + close(callback?: () => void): void; + flush(kind?: number | (() => void), callback?: () => void): void; + } + + interface ZlibParams { + params(level: number, strategy: number, callback: () => void): void; + } + + interface ZlibReset { + reset(): void; + } + + interface BrotliCompress extends stream.Transform, Zlib { } + interface BrotliDecompress extends stream.Transform, Zlib { } + interface Gzip extends stream.Transform, Zlib { } + interface Gunzip extends stream.Transform, Zlib { } + interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface Inflate extends stream.Transform, Zlib, ZlibReset { } + interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface InflateRaw extends stream.Transform, Zlib, ZlibReset { } + interface Unzip extends stream.Transform, Zlib { } + + function createBrotliCompress(options?: BrotliOptions): BrotliCompress; + function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress; + function createGzip(options?: ZlibOptions): Gzip; + function createGunzip(options?: ZlibOptions): Gunzip; + function createDeflate(options?: ZlibOptions): Deflate; + function createInflate(options?: ZlibOptions): Inflate; + function createDeflateRaw(options?: ZlibOptions): DeflateRaw; + function createInflateRaw(options?: ZlibOptions): InflateRaw; + function createUnzip(options?: ZlibOptions): Unzip; + + type InputType = string | ArrayBuffer | NodeJS.ArrayBufferView; + + type CompressCallback = (error: Error | null, result: Buffer) => void; + + function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; + function brotliCompress(buf: InputType, callback: CompressCallback): void; + function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer; + function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; + function brotliDecompress(buf: InputType, callback: CompressCallback): void; + function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer; + function deflate(buf: InputType, callback: CompressCallback): void; + function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function deflateSync(buf: InputType, options?: ZlibOptions): Buffer; + function deflateRaw(buf: InputType, callback: CompressCallback): void; + function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + function gzip(buf: InputType, callback: CompressCallback): void; + function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function gzipSync(buf: InputType, options?: ZlibOptions): Buffer; + function gunzip(buf: InputType, callback: CompressCallback): void; + function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer; + function inflate(buf: InputType, callback: CompressCallback): void; + function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function inflateSync(buf: InputType, options?: ZlibOptions): Buffer; + function inflateRaw(buf: InputType, callback: CompressCallback): void; + function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + function unzip(buf: InputType, callback: CompressCallback): void; + function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function unzipSync(buf: InputType, options?: ZlibOptions): Buffer; + + namespace constants { + const BROTLI_DECODE: number; + const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number; + const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number; + const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number; + const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number; + const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number; + const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number; + const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number; + const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number; + const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number; + const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number; + const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number; + const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number; + const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number; + const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number; + const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number; + const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number; + const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number; + const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number; + const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number; + const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number; + const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number; + const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number; + const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number; + const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number; + const BROTLI_DECODER_ERROR_UNREACHABLE: number; + const BROTLI_DECODER_NEEDS_MORE_INPUT: number; + const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number; + const BROTLI_DECODER_NO_ERROR: number; + const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number; + const BROTLI_DECODER_PARAM_LARGE_WINDOW: number; + const BROTLI_DECODER_RESULT_ERROR: number; + const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number; + const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number; + const BROTLI_DECODER_RESULT_SUCCESS: number; + const BROTLI_DECODER_SUCCESS: number; + + const BROTLI_DEFAULT_MODE: number; + const BROTLI_DEFAULT_QUALITY: number; + const BROTLI_DEFAULT_WINDOW: number; + const BROTLI_ENCODE: number; + const BROTLI_LARGE_MAX_WINDOW_BITS: number; + const BROTLI_MAX_INPUT_BLOCK_BITS: number; + const BROTLI_MAX_QUALITY: number; + const BROTLI_MAX_WINDOW_BITS: number; + const BROTLI_MIN_INPUT_BLOCK_BITS: number; + const BROTLI_MIN_QUALITY: number; + const BROTLI_MIN_WINDOW_BITS: number; + + const BROTLI_MODE_FONT: number; + const BROTLI_MODE_GENERIC: number; + const BROTLI_MODE_TEXT: number; + + const BROTLI_OPERATION_EMIT_METADATA: number; + const BROTLI_OPERATION_FINISH: number; + const BROTLI_OPERATION_FLUSH: number; + const BROTLI_OPERATION_PROCESS: number; + + const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number; + const BROTLI_PARAM_LARGE_WINDOW: number; + const BROTLI_PARAM_LGBLOCK: number; + const BROTLI_PARAM_LGWIN: number; + const BROTLI_PARAM_MODE: number; + const BROTLI_PARAM_NDIRECT: number; + const BROTLI_PARAM_NPOSTFIX: number; + const BROTLI_PARAM_QUALITY: number; + const BROTLI_PARAM_SIZE_HINT: number; + + const DEFLATE: number; + const DEFLATERAW: number; + const GUNZIP: number; + const GZIP: number; + const INFLATE: number; + const INFLATERAW: number; + const UNZIP: number; + + const Z_BEST_COMPRESSION: number; + const Z_BEST_SPEED: number; + const Z_BLOCK: number; + const Z_BUF_ERROR: number; + const Z_DATA_ERROR: number; + + const Z_DEFAULT_CHUNK: number; + const Z_DEFAULT_COMPRESSION: number; + const Z_DEFAULT_LEVEL: number; + const Z_DEFAULT_MEMLEVEL: number; + const Z_DEFAULT_STRATEGY: number; + const Z_DEFAULT_WINDOWBITS: number; + + const Z_ERRNO: number; + const Z_FILTERED: number; + const Z_FINISH: number; + const Z_FIXED: number; + const Z_FULL_FLUSH: number; + const Z_HUFFMAN_ONLY: number; + const Z_MAX_CHUNK: number; + const Z_MAX_LEVEL: number; + const Z_MAX_MEMLEVEL: number; + const Z_MAX_WINDOWBITS: number; + const Z_MEM_ERROR: number; + const Z_MIN_CHUNK: number; + const Z_MIN_LEVEL: number; + const Z_MIN_MEMLEVEL: number; + const Z_MIN_WINDOWBITS: number; + const Z_NEED_DICT: number; + const Z_NO_COMPRESSION: number; + const Z_NO_FLUSH: number; + const Z_OK: number; + const Z_PARTIAL_FLUSH: number; + const Z_RLE: number; + const Z_STREAM_END: number; + const Z_STREAM_ERROR: number; + const Z_SYNC_FLUSH: number; + const Z_VERSION_ERROR: number; + const ZLIB_VERNUM: number; + } + + /** + * @deprecated + */ + const Z_NO_FLUSH: number; + /** + * @deprecated + */ + const Z_PARTIAL_FLUSH: number; + /** + * @deprecated + */ + const Z_SYNC_FLUSH: number; + /** + * @deprecated + */ + const Z_FULL_FLUSH: number; + /** + * @deprecated + */ + const Z_FINISH: number; + /** + * @deprecated + */ + const Z_BLOCK: number; + /** + * @deprecated + */ + const Z_TREES: number; + /** + * @deprecated + */ + const Z_OK: number; + /** + * @deprecated + */ + const Z_STREAM_END: number; + /** + * @deprecated + */ + const Z_NEED_DICT: number; + /** + * @deprecated + */ + const Z_ERRNO: number; + /** + * @deprecated + */ + const Z_STREAM_ERROR: number; + /** + * @deprecated + */ + const Z_DATA_ERROR: number; + /** + * @deprecated + */ + const Z_MEM_ERROR: number; + /** + * @deprecated + */ + const Z_BUF_ERROR: number; + /** + * @deprecated + */ + const Z_VERSION_ERROR: number; + /** + * @deprecated + */ + const Z_NO_COMPRESSION: number; + /** + * @deprecated + */ + const Z_BEST_SPEED: number; + /** + * @deprecated + */ + const Z_BEST_COMPRESSION: number; + /** + * @deprecated + */ + const Z_DEFAULT_COMPRESSION: number; + /** + * @deprecated + */ + const Z_FILTERED: number; + /** + * @deprecated + */ + const Z_HUFFMAN_ONLY: number; + /** + * @deprecated + */ + const Z_RLE: number; + /** + * @deprecated + */ + const Z_FIXED: number; + /** + * @deprecated + */ + const Z_DEFAULT_STRATEGY: number; + /** + * @deprecated + */ + const Z_BINARY: number; + /** + * @deprecated + */ + const Z_TEXT: number; + /** + * @deprecated + */ + const Z_ASCII: number; + /** + * @deprecated + */ + const Z_UNKNOWN: number; + /** + * @deprecated + */ + const Z_DEFLATED: number; +} diff --git a/node_modules/@types/signale/LICENSE b/node_modules/@types/signale/LICENSE new file mode 100644 index 0000000..4b1ad51 --- /dev/null +++ b/node_modules/@types/signale/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. 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/@types/signale/README.md b/node_modules/@types/signale/README.md new file mode 100644 index 0000000..73f6c6c --- /dev/null +++ b/node_modules/@types/signale/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/signale` + +# Summary +This package contains type definitions for signale ( https://github.com/klaussinani/signale ). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/signale + +Additional Details + * Last updated: Wed, 27 Feb 2019 16:45:18 GMT + * Dependencies: @types/node + * Global values: none + +# Credits +These definitions were written by Resi Respati , Kingdaro , Joydip Roy . diff --git a/node_modules/@types/signale/index.d.ts b/node_modules/@types/signale/index.d.ts new file mode 100644 index 0000000..fd1467a --- /dev/null +++ b/node_modules/@types/signale/index.d.ts @@ -0,0 +1,140 @@ +// Type definitions for signale 1.2 +// Project: https://github.com/klaussinani/signale +// Definitions by: Resi Respati +// Kingdaro +// Joydip Roy +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.7 + +/// + +declare namespace signale { + type DefaultMethods = + | "await" + | "complete" + | "error" + | "debug" + | "fatal" + | "fav" + | "info" + | "note" + | "pause" + | "pending" + | "star" + | "start" + | "success" + | "warn" + | "watch" + | "log"; + + interface CommandType { + /** The icon corresponding to the logger. */ + badge: string; + /** + * The color of the label, can be any of the foreground colors supported by + * [chalk](https://github.com/chalk/chalk#colors). + */ + color: string; + /** The label used to identify the type of the logger. */ + label: string; + } + + interface SignaleConfig { + /** Display the scope name of the logger. */ + displayScope?: boolean; + /** Display the badge of the logger. */ + displayBadge?: boolean; + /** Display the current local date in `YYYY-MM-DD` format. */ + displayDate?: boolean; + /** Display the name of the file that the logger is reporting from. */ + displayFilename?: boolean; + /** Display the label of the logger. */ + displayLabel?: boolean; + /** Display the current local time in `HH:MM:SS` format. */ + displayTimestamp?: boolean; + /** Underline the logger label. */ + underlineLabel?: boolean; + /** Underline the logger message. */ + underlineMessage?: boolean; + underlinePrefix?: boolean; + underlineSuffix?: boolean; + uppercaseLabel?: boolean; + } + + interface SignaleOptions { + /** Sets the configuration of an instance overriding any existing global or local configuration. */ + config?: SignaleConfig; + disabled?: boolean; + /** + * Name of the scope. + */ + scope?: string; + /** + * Holds the configuration of the custom and default loggers. + */ + types?: Partial>; + interactive?: boolean; + timers?: Map; + /** + * Destination to which the data is written, can be any valid + * [Writable stream](https://nodejs.org/api/stream.html#stream_writable_streams). + */ + stream?: NodeJS.WriteStream; + } + + interface SignaleConstructor { + new ( + options?: SignaleOptions + ): Signale; + } + + interface SignaleBase { + /** + * Sets the configuration of an instance overriding any existing global or local configuration. + * + * @param configObj Can hold any of the documented options. + */ + config(configObj: SignaleConfig): Signale; + /** + * Defines the scope name of the logger. + * + * @param name Can be one or more comma delimited strings. + */ + scope(...name: string[]): Signale; + /** Clears the scope name of the logger. */ + unscope(): void; + /** + * Sets a timers and accepts an optional label. If none provided the timer will receive a unique label automatically. + * + * @param label Label corresponding to the timer. Each timer must have its own unique label. + * @returns a string corresponding to the timer label. + */ + time(label?: string): string; + /** + * Deactivates the timer to which the given label corresponds. If no label + * is provided the most recent timer, that was created without providing a + * label, will be deactivated. + * + * @param label Label corresponding to the timer, each timer has its own unique label. + * @param span Total running time. + */ + timeEnd( + label?: string, + span?: number + ): { label: string; span?: number }; + } + + type LoggerFunc = (message?: any, ...optionalArgs: any[]) => void; + type Signale = SignaleBase & + Record & + Record; +} + +declare const signale: signale.Signale & { + Signale: signale.SignaleConstructor; + SignaleConfig: signale.SignaleConfig; + SignaleOptions: signale.SignaleOptions; + DefaultMethods: signale.DefaultMethods; +}; + +export = signale; diff --git a/node_modules/@types/signale/package.json b/node_modules/@types/signale/package.json new file mode 100644 index 0000000..a52b93a --- /dev/null +++ b/node_modules/@types/signale/package.json @@ -0,0 +1,40 @@ +{ + "name": "@types/signale", + "version": "1.2.1", + "description": "TypeScript definitions for signale", + "license": "MIT", + "contributors": [ + { + "name": "Resi Respati", + "url": "https://github.com/resir014", + "githubUsername": "resir014" + }, + { + "name": "Kingdaro", + "url": "https://github.com/kingdaro", + "githubUsername": "kingdaro" + }, + { + "name": "Joydip Roy", + "url": "https://github.com/rjoydip", + "githubUsername": "rjoydip" + } + ], + "main": "", + "types": "index", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/signale" + }, + "scripts": {}, + "dependencies": { + "@types/node": "*" + }, + "typesPublisherContentHash": "d21aba25c86f4395290f16e32249c72c9dbed5eef52d533bdbfc2ed63dfc5b75", + "typeScriptVersion": "2.7" + +,"_resolved": "https://registry.npmjs.org/@types/signale/-/signale-1.2.1.tgz" +,"_integrity": "sha512-mV6s2VgcBC16Jb+1EwulgRrrZBT93V4JCILkNPg31rvvSK6LRQQGU8R/SUivgHjDZ5LJZu/yL2kMF8j85YQTnA==" +,"_from": "@types/signale@1.2.1" +} \ No newline at end of file diff --git a/node_modules/actions-toolkit/LICENSE b/node_modules/actions-toolkit/LICENSE new file mode 100644 index 0000000..c2ee924 --- /dev/null +++ b/node_modules/actions-toolkit/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Jason Etcovitch + +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/actions-toolkit/README.md b/node_modules/actions-toolkit/README.md new file mode 100644 index 0000000..9e3b66f --- /dev/null +++ b/node_modules/actions-toolkit/README.md @@ -0,0 +1,418 @@ +

GitHub Actions Toolkit

+ +

+ A toolkit for building GitHub Actions in Node.js
+ Usage • + API • + How to test your Action • + FAQ +

+ +

GitHub Actions status Build Status Codecov

+ +**Heads up!** This toolkit was built to work with Actions v1. There is [an official toolkit](https://github.com/actions/toolkit) for [Actions v2](https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/) that you should check out. This one _may_ work for v2, but is not guaranteed, and will likely be deprecated in the near future. + +## Motivation + +**actions-toolkit** is a wrapper around some fantastic open source libraries, and provides some helper methods for dealing with the GitHub Actions runtime. Actions all run in Docker containers, so this library aims to help you focus on your code and not the runtime. You can learn more about [building Actions in Node.js](https://jasonet.co/posts/building-github-actions-in-node/) to get started! + +After building a GitHub Action in Node.js, it was clear to me that I was writing code that other actions will want to use. Reading files from the repository, making requests to the GitHub API, or running arbitrary executables on the project, etc. + +So, I thought it'd be useful to build those out into a library to help you build actions in Node.js :tada: + +## Usage + +### Installation + +```sh +$ npm install actions-toolkit +``` + +```js +const { Toolkit } = require('actions-toolkit') +const tools = new Toolkit() +``` + +### Bootstrap a new action + +``` +$ npx actions-toolkit my-cool-action +``` + +This will create a new folder `my-cool-action` with the following files: + +``` +├── Dockerfile +├── action.yml +├── index.js +├── index.test.js +└── package.json +``` + +## API + +* [The Toolkit class](#toolkit-options) +* [Authenticated GitHub API client](#toolsgithub) +* [Logging](#toolslog) +* [Slash commands](#toolscommandcommand-args-match--promise) +* [Parsing arguments](#toolsarguments) +* [Reading files](#toolsgetfilepath-encoding--utf8) +* [Run a CLI command](#toolsruninworkspacecommand-args-execaoptions) +* [In-repo configuration](#toolsconfigfilename) +* [Pass information to another action](#toolsstore) +* [End the action's process](#toolsexit) +* [Inspect the webhook event payload](#toolscontext) + +### Toolkit options + +#### event (optional) + +An optional list of [events that this action works with](https://developer.github.com/actions/creating-workflows/workflow-configuration-options/#events-supported-in-workflow-files). If omitted, the action will run for any event - if present, the action will exit with a failing status code for any event that is not allowed. + +```js +const tools = new Toolkit({ + event: ['issues', 'pull_requests'] +}) +``` + +You can also pass a single string: + +```js +const tools = new Toolkit({ + event: 'issues' +}) +``` + +And/or strings that include an action (what actually happened to trigger this event) for even more specificity: + +```js +const tools = new Toolkit({ + event: ['issues.opened'] +}) +``` + +#### secrets (optional) + +You can choose to pass a list of secrets that must be included in the workflow that runs your Action. This ensures that your Action has the secrets it needs to function correctly: + +```js +const tools = new Toolkit({ + secrets: ['SUPER_SECRET_KEY'] +}) +``` + +If any of the listed secrets are missing, the Action will fail and log a message. + +### Toolkit.run + +Run an asynchronous function that receives an instance of `Toolkit` as its argument. If the function throws an error (or returns a rejected promise), `Toolkit.run` will log the error and exit the action with a failure status code. + +The toolkit instance can be configured by passing `Toolkit` options as the second argument to `Toolkit.run`. + +```js +Toolkit.run(async tools => { + // Action code +}, { event: 'push' }) +``` +
+ +### tools.github + +Returns an [Octokit SDK](https://octokit.github.io/rest.js) client authenticated for this repository. See [https://octokit.github.io/rest.js](https://octokit.github.io/rest.js) for the API. + +```js +const newIssue = await tools.github.issues.create({ + ...tools.context.repo, + title: 'New issue!', + body: 'Hello Universe!' +}) +``` + +You can also make GraphQL requests: + +```js +const result = await tools.github.graphql(query, variables) +``` +See [https://github.com/octokit/graphql.js](https://github.com/octokit/graphql.js) for more details on how to leverage the GraphQL API. + +
+ +### tools.log + +This library comes with a slightly-customized instance of [Signale](https://github.com/klaussinani/signale), a great **logging utility**. Check out their docs for [the full list of methods](https://github.com/klaussinani/signale#usage). You can use those methods in your action: + +```js +tools.log('Welcome to this example!') +tools.log.info('Gonna try this...') +try { + risky() + tools.log.success('We did it!') +} catch (error) { + tools.log.fatal(error) +} +``` + +In the GitHub Actions output, this is the result: + +``` +ℹ info Welcome to this example! +ℹ info Gonna try this... +✖ fatal Error: Something bad happened! + at Object. (/index.js:5:17) + at Module._compile (internal/modules/cjs/loader.js:734:30) +``` + +
+ +### tools.command(command, (args, match) => Promise) + +Respond to a slash-command posted in a GitHub issue, comment, pull request, pull request review or commit comment. Arguments to the slash command are parsed by [minimist](https://github.com/substack/minimist). You can use a slash command in a larger comment, but the command must be at the start of the line: + +``` +Hey, let's deploy this! +/deploy --app example --container node:alpine +``` + +```ts +tools.command('deploy', async (args: ParsedArgs, match: RegExpExecArray) => { + console.log(args) + // -> { app: 'example', container: 'node:alpine' } +}) +``` + +The handler will run multiple times for each match: + +``` +/deploy 1 +/deploy 2 +/deploy 3 +``` + +```ts +let i = 0 +await tools.command('deploy', () => { i++ }) +console.log(i) +// -> 3 +``` + +
+ +### tools.config(filename) + +Get the configuration settings for this action in the project workspace. This method can be used in three different ways: + +```js +// Get the .rc file, parsed as JSON +const cfg = tools.config('.myactionrc') + +// Get the YAML file, parsed as JSON +const cfg = tools.config('myaction.yml') + +// Get the property in package.json +const cfg = tools.config('myaction') +``` + +If the filename looks like `.myfilerc` it will look for that file. If it's a YAML file, it will parse that file as a JSON object. Otherwise, it will return the value of the property in the `package.json` file of the project. + +
+ +### tools.getPackageJSON() + +Get the package.json file in the project root and returns it as an object. + +```js +const pkg = tools.getPackageJSON() +``` + +
+ +### tools.getFile(path, [encoding = 'utf8']) + +Get the contents of a file in the repository. + +```js +const contents = tools.getFile('example.md') +``` + +
+ +### tools.runInWorkspace(command, [args], [ExecaOptions]) + +Run a CLI command in the workspace. This uses [execa](https://github.com/sindresorhus/execa) under the hood so check there for the [full options](https://github.com/sindresorhus/execa#options). For convenience, `args` can be a `string` or an array of `string`s. + +```js +const result = await tools.runInWorkspace('npm', ['audit']) +``` + +
+ +### tools.arguments + +An object of the parsed arguments passed to your action. This uses [`minimist`](https://github.com/substack/minimist) under the hood. + +When inputting arguments into your workflow file (like `main.workflow`) in an action as shown in the [Actions Docs](https://developer.github.com/actions/creating-workflows/workflow-configuration-options/#action-blocks), you can enter them as an array of strings or as a single string: + +```workflow +args = ["container:release", "--app", "web"] +# or +args = "container:release --app web" +``` + +In `actions-toolkit`, `tools.arguments` will be an object: + +```js +console.log(tools.arguments) +// => { _: ['container:release'], app: 'web' } +``` + +There is currently a known bug with strings with multiple word arguments being parsed incorrectly. Arguments that contain strings with multiple words need to currently pass the arguments in an array: +```workflow +args = [ "To do", "100" ] +``` + +Or have a different [action entrypoint file](https://github.com/actions/npm/blob/master/entrypoint.sh): +``` +#!/bin/sh +sh -c "npm $*" +``` + +
+ +### tools.token + +The GitHub API token being used to authenticate requests. + +
+ +### tools.workspace + +A path to a clone of the repository. + +
+ +### tools.exit + +A collection of methods to end the action's process and tell GitHub what status to set (success, neutral or failure). Internally, these methods call `process.exit` with the [appropriate exit code](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#exit-codes-and-statuses). You can pass an optional message to each one to be logged before exiting. This can be used like an early return: + +```js +if (someCheck) tools.exit.neutral('No _action_ necessary!') +if (anError) tools.exit.failure('We failed!') +tools.exit.success('We did it team!') +``` + +
+ +### tools.store + +Actions can pass information to each other by writing to a file that is shared across the workflow. `tools.store` is a modified instance of [`flat-cache`](https://www.npmjs.com/package/flat-cache): + +Store a value: + +```js +tools.store.set('foo', true) +``` + +Then, in a later action (or even the same action): + +```js +const foo = tools.store.get('foo') +console.log(foo) +// -> true +``` + +**Note**: the file is only saved to disk when the process ends and your action completes. This is to prevent conflicts while writing to file. It will only write to a file if at least one key/value pair has been set. If you need to write to disk, you can do so with `tools.store.save()`. + +
+ +### tools.context + +#### tools.context.action + +The name of the action + +#### tools.context.actor + +The actor that triggered the workflow (usually a user's login) + +#### tools.context.event + +The name of the event that triggered the workflow + +#### tools.context.payload + +A JSON object of the webhook payload object that triggered the workflow + +#### tools.context.ref + +The Git `ref` at which the action was triggered + +#### tools.context.sha + +The Git `sha` at which the action was triggered + +#### tools.context.workflow + +The name of the workflow that was triggered. + +#### tools.context.issue + +The `owner`, `repo`, and `number` params for making API requests against an issue or pull request. + +#### tools.context.repo + +The `owner` and `repo` params for making API requests against a repository. This uses the `GITHUB_REPOSITORY` environment variable under the hood. + +## How to test your GitHub Actions + +Similar to building CLIs, GitHub Actions usually works by running a file with `node `; this means that writing a complete test suite can be tricky. Here's a pattern for writing tests using actions-toolkit, by mocking `Toolkit.run`: + +
+index.js + +```js +const { Toolkit } = require('actions-toolkit') +Toolkit.run(async tools => { + tools.log.success('Yay!') +}) +``` +
+ + +
+index.test.js + +```js +const { Toolkit } = require('actions-toolkit') +describe('tests', () => { + let action + + beforeAll(() => { + // Mock `Toolkit.run` to redefine `action` when its called + Toolkit.run = fn => { action = fn } + // Require the index.js file, after we've mocked `Toolkit.run` + require('./index.js') + }) + + it('logs successfully', async () => { + // Create a fake instance of `Toolkit` + const fakeTools = new Toolkit() + // Mock the logger, or whatever else you need + fakeTools.log.success = jest.fn() + await action(fakeTools) + expect(fakeTools.log.success).toHaveBeenCalled() + }) +}) +``` +
+ +You can then mock things by tweaking environment variables and redefining `tools.context.payload`. You can check out [this repo's tests](https://github.com/JasonEtco/create-an-issue/blob/master/tests/) as an example. + +## FAQ + +**Can you get me into the GitHub Actions beta?** + +I'm sorry, but I cannot. + +**Aren't these just wrappers around existing functions?** + +Yep! I just didn't want to rewrite them for my next Action, so here we are. diff --git a/node_modules/actions-toolkit/bin/cli.js b/node_modules/actions-toolkit/bin/cli.js new file mode 100755 index 0000000..12e5eac --- /dev/null +++ b/node_modules/actions-toolkit/bin/cli.js @@ -0,0 +1,12 @@ +#!/usr/bin/env node + +const createAction = require('./create-action') + +createAction(process.argv.slice(2)) + .then(() => { + process.exit(0) + }) + .catch(error => { + console.error(error) + process.exit(1) + }) diff --git a/node_modules/actions-toolkit/bin/colors.json b/node_modules/actions-toolkit/bin/colors.json new file mode 100644 index 0000000..a35eec7 --- /dev/null +++ b/node_modules/actions-toolkit/bin/colors.json @@ -0,0 +1,10 @@ +[ + "white", + "yellow", + "blue", + "green", + "orange", + "red", + "purple", + "gray-dark" +] diff --git a/node_modules/actions-toolkit/bin/create-action.js b/node_modules/actions-toolkit/bin/create-action.js new file mode 100755 index 0000000..3659976 --- /dev/null +++ b/node_modules/actions-toolkit/bin/create-action.js @@ -0,0 +1,209 @@ +const fs = require('fs') +const path = require('path') +const { promisify } = require('util') +const minimist = require('minimist') +const { Signale } = require('signale') +const { prompt } = require('enquirer') +const colors = require('./colors.json') +const icons = require('./feather-icons.json') + +const readFile = promisify(fs.readFile) +const writeFile = promisify(fs.writeFile) +const mkdir = promisify(fs.mkdir) + +/** + * Reads a template file from disk. + * + * @param {string} filename The template filename to read. + * @returns {Promise} The template file string contents. + */ +async function readTemplate (filename) { + const templateDir = path.join(__dirname, 'template') + return readFile(path.join(templateDir, filename), 'utf8') +} + +/** + * A predicate function to ensure a string is not empty. + * + * @param {string} value The string value. + * @returns {boolean} Whether the string is empty or not. + */ +const isNotEmpty = value => value.length > 0 + +/** + * The options object returned from the CLI questionnaire prompt. + * @typedef {object} PromptAnswers + * @property {string} name The action name. + * @property {string} description The action description. + * @property {string} icon The feather icon name. See `bin/feather-icons.json` for options. + * @property {string} color The GitHub Action color. See `bin/colors.json` for options. + */ + +/** + * Prompts the user with a questionnaire to get key metadata for the GitHub Action. + * + * @returns {Promise} An object containing prompt answers. + */ +async function getActionMetadata () { + return prompt([ + { + type: 'input', + name: 'name', + message: 'What is the name of your action?', + initial: 'Your action name', + validate: isNotEmpty + }, + { + type: 'input', + name: 'description', + message: 'What is a short description of your action?', + initial: 'A description of your action', + validate: isNotEmpty + }, + { + type: 'autocomplete', + name: 'icon', + message: 'Choose an icon for your action. Visit https://feathericons.com for a visual reference.', + choices: icons, + limit: 10 + }, + { + type: 'autocomplete', + name: 'color', + message: 'Choose a background color background color used in the visual workflow editor for your action.', + choices: colors + } + ]) +} + +/** + * Creates a Dockerfile contents string, replacing variables in the Dockerfile template + * with values passed in by the user from the CLI prompt. + * + * @param {PromptAnswers} answers The CLI prompt answers. + * @returns {Promise} The Dockerfile contents. + */ +async function createDockerfile (answers) { + const dockerfileTemplate = await readTemplate('Dockerfile') + return dockerfileTemplate + .replace(':NAME', answers.name) + .replace(':DESCRIPTION', answers.description) + .replace(':ICON', answers.icon) + .replace(':COLOR', answers.color) +} + +/** + * Creates a action.yml contents string, replacing variables in the action.yml template + * with values passed in by the user from the CLI prompt. + * + * @param {PromptAnswers} answers The CLI prompt answers. + * @returns {Promise} The action.yml contents. + */ +async function createActionYaml (answers) { + const template = await readTemplate('action.yml') + return template + .replace(':NAME', answers.name) + .replace(':DESCRIPTION', answers.description) + .replace(':ICON', answers.icon) + .replace(':COLOR', answers.color) +} + +/** + * Creates an index.test.js contents string, replacing variables in the index.test.js template + * with values passed in by the user from the CLI prompt. + * + * @param {PromptAnswers} answers The CLI prompt answers. + * @returns {Promise} The index.test.js contents. + */ +async function createIndexTest (answers) { + const indexTest = await readTemplate('index.test.js') + return indexTest + .replace(':NAME', answers.name) +} + +/** + * Creates a `package.json` object with the latest version + * of `actions-toolkit` ready to be installed. + * + * @param {string} name The action package name. + * @returns {object} The `package.json` contents. + */ +function createPackageJson (name) { + const { version, devDependencies } = require('../package.json') + return { + name, + private: true, + main: 'index.js', + scripts: { + start: 'node ./index.js', + test: 'jest' + }, + dependencies: { + 'actions-toolkit': `^${version}` + }, + devDependencies: { + jest: devDependencies.jest + } + } +} + +/** + * Runs the create action CLI prompt and bootstraps a new directory for the user. + * + * @public + * @param {string[]} argv The command line arguments to parse. + * @param {import("signale").Signale} [logger] The Signale logger. + * @returns {Promise} Nothing. + */ +module.exports = async function createAction (argv, signale = new Signale({ + config: { + displayLabel: false + } +})) { + const args = minimist(argv) + const directoryName = args._[0] + if (!directoryName || args.help) { + signale.log('\nUsage: npx actions-toolkit ') + return process.exit(1) + } + + signale.star('Welcome to actions-toolkit! Let\'s get started creating an action.\n') + + const base = path.join(process.cwd(), directoryName) + try { + signale.info(`Creating folder ${base}...`) + await mkdir(base) + } catch (err) { + if (err.code === 'EEXIST') { + signale.fatal(`Folder ${base} already exists!`) + } + throw err + } + + // Collect answers + const metadata = await getActionMetadata() + + signale.log('\n------------------------------------\n') + + // Create the templated files + const actionYaml = await createActionYaml(metadata) + const dockerfile = await createDockerfile(metadata) + const indexTest = await createIndexTest(metadata) + const packageJson = createPackageJson(directoryName) + const entrypoint = await readTemplate('index.js') + + await Promise.all([ + ['package.json', JSON.stringify(packageJson, null, 2)], + ['Dockerfile', dockerfile], + ['action.yml', actionYaml], + ['index.js', entrypoint], + ['index.test.js', indexTest] + ].map(async ([filename, contents]) => { + signale.info(`Creating ${filename}...`) + await writeFile(path.join(base, filename), contents) + })) + + signale.log('\n------------------------------------\n') + signale.success(`Done! Enjoy building your GitHub Action!`) + signale.info(`Get started with:\n\ncd ${directoryName} && npm install`) +} diff --git a/node_modules/actions-toolkit/bin/feather-icons.json b/node_modules/actions-toolkit/bin/feather-icons.json new file mode 100644 index 0000000..f0c028e --- /dev/null +++ b/node_modules/actions-toolkit/bin/feather-icons.json @@ -0,0 +1,278 @@ +[ + "activity", + "airplay", + "alert-circle", + "alert-octagon", + "alert-triangle", + "align-center", + "align-justify", + "align-left", + "align-right", + "anchor", + "aperture", + "archive", + "arrow-down-circle", + "arrow-down-left", + "arrow-down-right", + "arrow-down", + "arrow-left-circle", + "arrow-left", + "arrow-right-circle", + "arrow-right", + "arrow-up-circle", + "arrow-up-left", + "arrow-up-right", + "arrow-up", + "at-sign", + "award", + "bar-chart-2", + "bar-chart", + "battery-charging", + "battery", + "bell-off", + "bell", + "bluetooth", + "bold", + "book-open", + "book", + "bookmark", + "box", + "briefcase", + "calendar", + "camera-off", + "camera", + "cast", + "check-circle", + "check-square", + "check", + "chevron-down", + "chevron-left", + "chevron-right", + "chevron-up", + "chevrons-down", + "chevrons-left", + "chevrons-right", + "chevrons-up", + "chrome", + "circle", + "clipboard", + "clock", + "cloud-drizzle", + "cloud-lightning", + "cloud-off", + "cloud-rain", + "cloud-snow", + "cloud", + "code", + "codepen", + "coffee", + "command", + "compass", + "copy", + "corner-down-left", + "corner-down-right", + "corner-left-down", + "corner-left-up", + "corner-right-down", + "corner-right-up", + "corner-up-left", + "corner-up-right", + "cpu", + "credit-card", + "crop", + "crosshair", + "database", + "delete", + "disc", + "dollar-sign", + "download-cloud", + "download", + "droplet", + "edit-2", + "edit-3", + "edit", + "external-link", + "eye-off", + "eye", + "facebook", + "fast-forward", + "feather", + "figma", + "file-minus", + "file-plus", + "file-text", + "file", + "film", + "filter", + "flag", + "folder-minus", + "folder-plus", + "folder", + "frown", + "gift", + "git-branch", + "git-commit", + "git-merge", + "git-pull-request", + "github", + "gitlab", + "globe", + "grid", + "hard-drive", + "hash", + "headphones", + "heart", + "help-circle", + "home", + "image", + "inbox", + "info", + "instagram", + "italic", + "key", + "layers", + "layout", + "life-buoy", + "link-2", + "link", + "linkedin", + "list", + "loader", + "lock", + "log-in", + "log-out", + "mail", + "map-pin", + "map", + "maximize-2", + "maximize", + "meh", + "menu", + "message-circle", + "message-square", + "mic-off", + "mic", + "minimize-2", + "minimize", + "minus-circle", + "minus-square", + "minus", + "monitor", + "moon", + "more-horizontal", + "more-vertical", + "mouse-pointer", + "move", + "music", + "navigation-2", + "navigation", + "octagon", + "package", + "paperclip", + "pause-circle", + "pause", + "pen-tool", + "percent", + "phone-call", + "phone-forwarded", + "phone-incoming", + "phone-missed", + "phone-off", + "phone-outgoing", + "phone", + "pie-chart", + "play-circle", + "play", + "plus-circle", + "plus-square", + "plus", + "pocket", + "power", + "printer", + "radio", + "refresh-ccw", + "refresh-cw", + "repeat", + "rewind", + "rotate-ccw", + "rotate-cw", + "rss", + "save", + "scissors", + "search", + "send", + "server", + "settings", + "share-2", + "share", + "shield-off", + "shield", + "shopping-bag", + "shopping-cart", + "shuffle", + "sidebar", + "skip-back", + "skip-forward", + "slack", + "slash", + "sliders", + "smartphone", + "smile", + "speaker", + "square", + "star", + "stop-circle", + "sun", + "sunrise", + "sunset", + "tablet", + "tag", + "target", + "terminal", + "thermometer", + "thumbs-down", + "thumbs-up", + "toggle-left", + "toggle-right", + "trash-2", + "trash", + "trello", + "trending-down", + "trending-up", + "triangle", + "truck", + "tv", + "twitter", + "type", + "umbrella", + "underline", + "unlock", + "upload-cloud", + "upload", + "user-check", + "user-minus", + "user-plus", + "user-x", + "user", + "users", + "video-off", + "video", + "voicemail", + "volume-1", + "volume-2", + "volume-x", + "volume", + "watch", + "wifi-off", + "wifi", + "wind", + "x-circle", + "x-octagon", + "x-square", + "x", + "youtube", + "zap-off", + "zap", + "zoom-in", + "zoom-out" +] diff --git a/node_modules/actions-toolkit/bin/template/Dockerfile b/node_modules/actions-toolkit/bin/template/Dockerfile new file mode 100644 index 0000000..b6c1285 --- /dev/null +++ b/node_modules/actions-toolkit/bin/template/Dockerfile @@ -0,0 +1,31 @@ +# Use the latest version of Node.js +# +# You may prefer the full image: +# FROM node +# +# or even an alpine image (a smaller, faster, less-feature-complete image): +# FROM node:alpine +# +# You can specify a version: +# FROM node:10-slim +FROM node:slim + +# Labels for GitHub to read your action +LABEL "com.github.actions.name"=":NAME" +LABEL "com.github.actions.description"=":DESCRIPTION" +# Here are all of the available icons: https://feathericons.com/ +LABEL "com.github.actions.icon"=":ICON" +# And all of the available colors: https://developer.github.com/actions/creating-github-actions/creating-a-docker-container/#label +LABEL "com.github.actions.color"=":COLOR" + +# Copy the package.json and package-lock.json +COPY package*.json ./ + +# Install dependencies +RUN npm ci + +# Copy the rest of your action's code +COPY . . + +# Run `node /index.js` +ENTRYPOINT ["node", "/index.js"] diff --git a/node_modules/actions-toolkit/bin/template/action.yml b/node_modules/actions-toolkit/bin/template/action.yml new file mode 100644 index 0000000..e705ed8 --- /dev/null +++ b/node_modules/actions-toolkit/bin/template/action.yml @@ -0,0 +1,8 @@ +name: :NAME +description: :DESCRIPTION +runs: + using: docker + image: Dockerfile +branding: + icon: :ICON + color: :COLOR diff --git a/node_modules/actions-toolkit/bin/template/index.js b/node_modules/actions-toolkit/bin/template/index.js new file mode 100644 index 0000000..64b9880 --- /dev/null +++ b/node_modules/actions-toolkit/bin/template/index.js @@ -0,0 +1,6 @@ +const { Toolkit } = require('actions-toolkit') + +// Run your GitHub Action! +Toolkit.run(async tools => { + tools.exit.success('We did it!') +}) diff --git a/node_modules/actions-toolkit/bin/template/index.test.js b/node_modules/actions-toolkit/bin/template/index.test.js new file mode 100644 index 0000000..853938f --- /dev/null +++ b/node_modules/actions-toolkit/bin/template/index.test.js @@ -0,0 +1,23 @@ +const { Toolkit } = require('actions-toolkit') + +describe(':NAME', () => { + let action, tools + + // Mock Toolkit.run to define `action` so we can call it + Toolkit.run = jest.fn((actionFn) => { action = actionFn }) + // Load up our entrypoint file + require('.') + + beforeEach(() => { + // Create a new Toolkit instance + tools = new Toolkit() + // Mock methods on it! + tools.exit.success = jest.fn() + }) + + it('exits successfully', () => { + action(tools) + expect(tools.exit.success).toHaveBeenCalled() + expect(tools.exit.success).toHaveBeenCalledWith('We did it!') + }) +}) diff --git a/node_modules/actions-toolkit/lib/context.d.ts b/node_modules/actions-toolkit/lib/context.d.ts new file mode 100644 index 0000000..9d84350 --- /dev/null +++ b/node_modules/actions-toolkit/lib/context.d.ts @@ -0,0 +1,69 @@ +export interface WebhookEvent { + id: string; + name: string; + payload: WebhookPayloadWithRepository; + protocol?: 'http' | 'https'; + host?: string; + url?: string; +} +export interface PayloadRepository { + [key: string]: any; + full_name?: string; + name: string; + owner: { + [key: string]: any; + login: string; + name?: string; + }; + html_url?: string; +} +export interface WebhookPayloadWithRepository { + [key: string]: any; + repository?: PayloadRepository; + issue?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + pull_request?: { + [key: string]: any; + number: number; + html_url?: string; + body?: string; + }; + sender?: { + [key: string]: any; + type: string; + }; + action?: string; + installation?: { + id: number; + [key: string]: any; + }; +} +export declare class Context { + /** + * Webhook payload object that triggered the workflow + */ + payload: WebhookPayloadWithRepository; + /** + * Name of the event that triggered the workflow + */ + event: string; + sha: string; + ref: string; + workflow: string; + action: string; + actor: string; + constructor(); + readonly issue: { + number: any; + owner: string; + repo: string; + }; + readonly repo: { + owner: string; + repo: string; + }; +} diff --git a/node_modules/actions-toolkit/lib/context.js b/node_modules/actions-toolkit/lib/context.js new file mode 100644 index 0000000..3c1ebbb --- /dev/null +++ b/node_modules/actions-toolkit/lib/context.js @@ -0,0 +1,52 @@ +"use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var Context = /** @class */ (function () { + function Context() { + this.payload = process.env.GITHUB_EVENT_PATH ? require(process.env.GITHUB_EVENT_PATH) : {}; + this.event = 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; + } + Object.defineProperty(Context.prototype, "issue", { + get: function () { + var payload = this.payload; + return __assign({}, this.repo, { number: (payload.issue || payload.pull_request || payload).number }); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Context.prototype, "repo", { + get: function () { + if (process.env.GITHUB_REPOSITORY) { + var _a = process.env.GITHUB_REPOSITORY.split('/'), owner = _a[0], repo = _a[1]; + return { owner: owner, repo: 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\''); + }, + enumerable: true, + configurable: true + }); + return Context; +}()); +exports.Context = Context; +//# sourceMappingURL=context.js.map \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/context.js.map b/node_modules/actions-toolkit/lib/context.js.map new file mode 100644 index 0000000..e20cf1d --- /dev/null +++ b/node_modules/actions-toolkit/lib/context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA+CA;IAeE;QACE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1F,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACpD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;IACjD,CAAC;IAED,sBAAW,0BAAK;aAAhB;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;YAE5B,oBACK,IAAI,CAAC,IAAI,IACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;QACH,CAAC;;;OAAA;IAED,sBAAW,yBAAI;aAAf;YACE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;gBAC3B,IAAA,6CAAwD,EAAvD,aAAK,EAAE,YAAgD,CAAA;gBAC9D,OAAO,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,CAAA;aACvB;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC3B,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;oBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;iBACnC,CAAA;aACF;YAED,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;QACvG,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AAjDD,IAiDC;AAjDY,0BAAO"} \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/exit.d.ts b/node_modules/actions-toolkit/lib/exit.d.ts new file mode 100644 index 0000000..abbd644 --- /dev/null +++ b/node_modules/actions-toolkit/lib/exit.d.ts @@ -0,0 +1,29 @@ +import { Signale } from 'signale'; +/** + * The code to exit an action with a "success" state + */ +export declare const SuccessCode = 0; +/** + * The code to exit an action with a "failure" state + */ +export declare const FailureCode = 1; +/** + * The code to exit an action with a "neutral" state + */ +export declare const NeutralCode = 78; +export declare class Exit { + logger: Signale; + constructor(logger: Signale); + /** + * Stop the action with a "success" status + */ + success(message?: string): void; + /** + * Stop the action with a "neutral" status + */ + neutral(message?: string): void; + /** + * Stop the action with a "failed" status + */ + failure(message?: string): void; +} diff --git a/node_modules/actions-toolkit/lib/exit.js b/node_modules/actions-toolkit/lib/exit.js new file mode 100644 index 0000000..8052b6c --- /dev/null +++ b/node_modules/actions-toolkit/lib/exit.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * The code to exit an action with a "success" state + */ +exports.SuccessCode = 0; +/** + * The code to exit an action with a "failure" state + */ +exports.FailureCode = 1; +/** + * The code to exit an action with a "neutral" state + */ +exports.NeutralCode = 78; +var Exit = /** @class */ (function () { + function Exit(logger) { + this.logger = logger; + } + /** + * Stop the action with a "success" status + */ + Exit.prototype.success = function (message) { + if (message) + this.logger.success(message); + process.exit(exports.SuccessCode); + }; + /** + * Stop the action with a "neutral" status + */ + Exit.prototype.neutral = function (message) { + if (message) + this.logger.info(message); + process.exit(exports.NeutralCode); + }; + /** + * Stop the action with a "failed" status + */ + Exit.prototype.failure = function (message) { + if (message) + this.logger.fatal(message); + process.exit(exports.FailureCode); + }; + return Exit; +}()); +exports.Exit = Exit; +//# sourceMappingURL=exit.js.map \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/exit.js.map b/node_modules/actions-toolkit/lib/exit.js.map new file mode 100644 index 0000000..1ac7c38 --- /dev/null +++ b/node_modules/actions-toolkit/lib/exit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exit.js","sourceRoot":"","sources":["../src/exit.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACU,QAAA,WAAW,GAAG,CAAC,CAAA;AAC5B;;GAEG;AACU,QAAA,WAAW,GAAG,CAAC,CAAA;AAC5B;;GAEG;AACU,QAAA,WAAW,GAAG,EAAE,CAAA;AAE7B;IAGE,cAAa,MAAe;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;OAEG;IACI,sBAAO,GAAd,UAAgB,OAAgB;QAC9B,IAAI,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACI,sBAAO,GAAd,UAAgB,OAAgB;QAC9B,IAAI,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACI,sBAAO,GAAd,UAAgB,OAAgB;QAC9B,IAAI,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAA;IAC3B,CAAC;IACH,WAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,oBAAI"} \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/get-body.d.ts b/node_modules/actions-toolkit/lib/get-body.d.ts new file mode 100644 index 0000000..5707efc --- /dev/null +++ b/node_modules/actions-toolkit/lib/get-body.d.ts @@ -0,0 +1,6 @@ +import { WebhookPayloadWithRepository } from './context'; +/** + * Get the body of the relevant comment, review, issue or pull request + * @param payload - Webhook payload + */ +export declare function getBody(payload: WebhookPayloadWithRepository): string | undefined; diff --git a/node_modules/actions-toolkit/lib/get-body.js b/node_modules/actions-toolkit/lib/get-body.js new file mode 100644 index 0000000..38812b5 --- /dev/null +++ b/node_modules/actions-toolkit/lib/get-body.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Get the body of the relevant comment, review, issue or pull request + * @param payload - Webhook payload + */ +function getBody(payload) { + if (payload.comment) + return payload.comment.body; + if (payload.review) + return payload.review.body; + // If neither of those comments are present, check the body + if (payload.issue) + return payload.issue.body; + if (payload.pull_request) + return payload.pull_request.body; + return undefined; +} +exports.getBody = getBody; +//# sourceMappingURL=get-body.js.map \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/get-body.js.map b/node_modules/actions-toolkit/lib/get-body.js.map new file mode 100644 index 0000000..7803efe --- /dev/null +++ b/node_modules/actions-toolkit/lib/get-body.js.map @@ -0,0 +1 @@ +{"version":3,"file":"get-body.js","sourceRoot":"","sources":["../src/get-body.ts"],"names":[],"mappings":";;AAEA;;;GAGG;AACH,SAAgB,OAAO,CAAE,OAAqC;IAC5D,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;IAC9C,2DAA2D;IAC3D,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IAC5C,IAAI,OAAO,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAA;IAC1D,OAAO,SAAS,CAAA;AAClB,CAAC;AAPD,0BAOC"} \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/github.d.ts b/node_modules/actions-toolkit/lib/github.d.ts new file mode 100644 index 0000000..dc38352 --- /dev/null +++ b/node_modules/actions-toolkit/lib/github.d.ts @@ -0,0 +1,6 @@ +import { GraphQlQueryResponse, Variables } from '@octokit/graphql'; +import Octokit from '@octokit/rest'; +export declare class GitHub extends Octokit { + graphql: (query: string, variables?: Variables) => Promise; + constructor(token: string); +} diff --git a/node_modules/actions-toolkit/lib/github.js b/node_modules/actions-toolkit/lib/github.js new file mode 100644 index 0000000..be6623a --- /dev/null +++ b/node_modules/actions-toolkit/lib/github.js @@ -0,0 +1,31 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var rest_1 = __importDefault(require("@octokit/rest")); +var graphql_1 = require("./graphql"); +var GitHub = /** @class */ (function (_super) { + __extends(GitHub, _super); + function GitHub(token) { + var _this = _super.call(this, { auth: "token " + token }) || this; + _this.graphql = graphql_1.withDefaults(token); + return _this; + } + return GitHub; +}(rest_1.default)); +exports.GitHub = GitHub; +//# sourceMappingURL=github.js.map \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/github.js.map b/node_modules/actions-toolkit/lib/github.js.map new file mode 100644 index 0000000..6474970 --- /dev/null +++ b/node_modules/actions-toolkit/lib/github.js.map @@ -0,0 +1 @@ +{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,uDAAmC;AACnC,qCAAwC;AAExC;IAA4B,0BAAO;IAGjC,gBAAa,KAAa;QAA1B,YACE,kBAAM,EAAE,IAAI,EAAE,WAAS,KAAO,EAAE,CAAC,SAElC;QADC,KAAI,CAAC,OAAO,GAAG,sBAAY,CAAC,KAAK,CAAC,CAAA;;IACpC,CAAC;IACH,aAAC;AAAD,CAAC,AAPD,CAA4B,cAAO,GAOlC;AAPY,wBAAM"} \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/graphql.d.ts b/node_modules/actions-toolkit/lib/graphql.d.ts new file mode 100644 index 0000000..eef4608 --- /dev/null +++ b/node_modules/actions-toolkit/lib/graphql.d.ts @@ -0,0 +1,2 @@ +import graphql from '@octokit/graphql'; +export declare const withDefaults: (token: string) => (query: string, variables?: graphql.Variables | undefined) => Promise; diff --git a/node_modules/actions-toolkit/lib/graphql.js b/node_modules/actions-toolkit/lib/graphql.js new file mode 100644 index 0000000..029e2da --- /dev/null +++ b/node_modules/actions-toolkit/lib/graphql.js @@ -0,0 +1,10 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var graphql_1 = __importDefault(require("@octokit/graphql")); +exports.withDefaults = function (token) { return graphql_1.default.defaults({ + headers: { authorization: "token " + token } +}); }; +//# sourceMappingURL=graphql.js.map \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/graphql.js.map b/node_modules/actions-toolkit/lib/graphql.js.map new file mode 100644 index 0000000..c513f99 --- /dev/null +++ b/node_modules/actions-toolkit/lib/graphql.js.map @@ -0,0 +1 @@ +{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":";;;;;AAAA,6DAAsC;AAEzB,QAAA,YAAY,GAAG,UAAC,KAAa,IAAK,OAAA,iBAAO,CAAC,QAAQ,CAAC;IAC9D,OAAO,EAAE,EAAE,aAAa,EAAE,WAAS,KAAO,EAAE;CAC7C,CAAC,EAF6C,CAE7C,CAAA"} \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/index.d.ts b/node_modules/actions-toolkit/lib/index.d.ts new file mode 100644 index 0000000..ae7b365 --- /dev/null +++ b/node_modules/actions-toolkit/lib/index.d.ts @@ -0,0 +1,151 @@ +import execa, { Options as ExecaOptions } from 'execa'; +import { ParsedArgs } from 'minimist'; +import { LoggerFunc, Signale } from 'signale'; +import { Context } from './context'; +import { Exit } from './exit'; +import { GitHub } from './github'; +import { Store } from './store'; +export interface ToolkitOptions { + /** + * An optional event or list of events that are supported by this Action. If + * a different event triggers this Action, it will exit with a neutral status. + */ + event?: string | string[]; + /** + * An optional list of secrets that are required for this Action to function. If + * any secrets are missing, this Action will exit with a failing status. + */ + secrets?: string[]; + logger?: Signale; +} +export declare class Toolkit { + /** + * Run an asynchronous function that accepts a toolkit as its argument, and fail if + * an error occurs. + * + * @param func - Async function to run + * @param [opts] - Options to pass to the toolkit + * + * @example This is generally used to run a `main` async function: + * + * ```js + * Toolkit.run(async tools => { + * // Action code here. + * }, { event: 'push' }) + * ``` + */ + static run(func: (tools: Toolkit) => unknown, opts?: ToolkitOptions): Promise; + context: Context; + /** + * A key/value store for arbitrary data that can be accessed across actions in a workflow + */ + store: Store; + /** + * Path to a clone of the repository + */ + workspace: string; + /** + * GitHub API token + */ + token: string; + /** + * An object of the parsed arguments passed to your action + */ + arguments: ParsedArgs; + /** + * An Octokit SDK client authenticated for this repository. See https://octokit.github.io/rest.js for the API. + * + * ```js + * const newIssue = await tools.github.issues.create({ + * ...tools.context.repo, + * title: 'New issue!', + * body: 'Hello Universe!' + * }) + * ``` + */ + github: GitHub; + opts: ToolkitOptions; + /** + * A collection of methods used to stop an action while it's being run + */ + exit: Exit; + /** + * A general-purpose logger. An instance of [Signale](https://github.com/klaussinani/signale) + */ + log: Signale & LoggerFunc; + constructor(opts?: ToolkitOptions); + /** + * Gets the contents file in your project's workspace + * + * ```js + * const myFile = tools.getFile('README.md') + * ``` + * + * @param filename - Name of the file + * @param encoding - Encoding (usually utf8) + */ + getFile(filename: string, encoding?: string): string; + /** + * Get the package.json file in the project root + * + * ```js + * const pkg = toolkit.getPackageJSON() + * ``` + */ + getPackageJSON(): T; + /** + * Get the configuration settings for this action in the project workspace. + * + * @param key - If this is a string like `.myfilerc` it will look for that file. + * If it's a YAML file, it will parse that file as a JSON object. Otherwise, it will + * return the value of the property in the `package.json` file of the project. + * + * @example This method can be used in three different ways: + * + * ```js + * // Get the .rc file + * const cfg = toolkit.config('.myactionrc') + * + * // Get the YAML file + * const cfg = toolkit.config('myaction.yml') + * + * // Get the property in package.json + * const cfg = toolkit.config('myaction') + * ``` + */ + config(key: string): T; + /** + * Run a CLI command in the workspace. This runs [execa](https://github.com/sindresorhus/execa) + * under the hood so check there for the full options. + * + * @param command - Command to run + * @param args - Argument (this can be a string or multiple arguments in an array) + * @param cwd - Directory to run the command in + * @param [opts] - Options to pass to the execa function + */ + runInWorkspace(command: string, args?: string[] | string, opts?: ExecaOptions): Promise; + /** + * Run the handler when someone triggers the `/command` in a comment body. + * + * @param command - Command to listen for + * @param handler - Handler to run when the command is used + */ + command(command: string, handler: (args: ParsedArgs | {}, match: RegExpExecArray) => Promise): Promise; + /** + * Returns true if this event is allowed + */ + private eventIsAllowed; + private checkAllowedEvents; + /** + * Wrap a Signale logger so that its a callable class + */ + private wrapLogger; + /** + * Log warnings to the console for missing environment variables + */ + private warnForMissingEnvVars; + /** + * The Action should fail if there are secrets it needs but does not have + */ + private checkRequiredSecrets; +} diff --git a/node_modules/actions-toolkit/lib/index.js b/node_modules/actions-toolkit/lib/index.js new file mode 100644 index 0000000..1c5472b --- /dev/null +++ b/node_modules/actions-toolkit/lib/index.js @@ -0,0 +1,336 @@ +"use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var execa_1 = __importDefault(require("execa")); +var fs_1 = __importDefault(require("fs")); +var js_yaml_1 = __importDefault(require("js-yaml")); +var minimist_1 = __importDefault(require("minimist")); +var path_1 = __importDefault(require("path")); +var signale_1 = require("signale"); +var context_1 = require("./context"); +var exit_1 = require("./exit"); +var get_body_1 = require("./get-body"); +var github_1 = require("./github"); +var store_1 = require("./store"); +var Toolkit = /** @class */ (function () { + function Toolkit(opts) { + if (opts === void 0) { opts = {}; } + this.opts = opts; + // Create the logging instance + this.log = this.wrapLogger(opts.logger || new signale_1.Signale({ config: { underlineLabel: false } })); + // Print a console warning for missing environment variables + this.warnForMissingEnvVars(); + // Memoize environment variables and arguments + this.workspace = process.env.GITHUB_WORKSPACE; + this.token = process.env.GITHUB_TOKEN; + this.arguments = minimist_1.default(process.argv.slice(2)); + // Setup nested objects + this.exit = new exit_1.Exit(this.log); + this.context = new context_1.Context(); + this.github = new github_1.GitHub(this.token); + this.store = new store_1.Store(this.context.workflow, this.workspace); + // Check stuff + this.checkAllowedEvents(this.opts.event); + this.checkRequiredSecrets(this.opts.secrets); + } + /** + * Run an asynchronous function that accepts a toolkit as its argument, and fail if + * an error occurs. + * + * @param func - Async function to run + * @param [opts] - Options to pass to the toolkit + * + * @example This is generally used to run a `main` async function: + * + * ```js + * Toolkit.run(async tools => { + * // Action code here. + * }, { event: 'push' }) + * ``` + */ + Toolkit.run = function (func, opts) { + return __awaiter(this, void 0, void 0, function () { + var tools, ret, _a, err_1; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + tools = new Toolkit(opts); + _b.label = 1; + case 1: + _b.trys.push([1, 5, , 6]); + ret = func(tools); + if (!(ret instanceof Promise)) return [3 /*break*/, 3]; + return [4 /*yield*/, ret]; + case 2: + _a = _b.sent(); + return [3 /*break*/, 4]; + case 3: + _a = ret; + _b.label = 4; + case 4: + // If the return value of the provided function is an unresolved Promise + // await that Promise before return the value, otherwise return as normal + return [2 /*return*/, _a]; + case 5: + err_1 = _b.sent(); + tools.exit.failure(err_1); + return [3 /*break*/, 6]; + case 6: return [2 /*return*/]; + } + }); + }); + }; + /** + * Gets the contents file in your project's workspace + * + * ```js + * const myFile = tools.getFile('README.md') + * ``` + * + * @param filename - Name of the file + * @param encoding - Encoding (usually utf8) + */ + Toolkit.prototype.getFile = function (filename, encoding) { + if (encoding === void 0) { encoding = 'utf8'; } + var pathToFile = path_1.default.join(this.workspace, filename); + if (!fs_1.default.existsSync(pathToFile)) + throw new Error("File " + filename + " could not be found in your project's workspace."); + return fs_1.default.readFileSync(pathToFile, encoding); + }; + /** + * Get the package.json file in the project root + * + * ```js + * const pkg = toolkit.getPackageJSON() + * ``` + */ + Toolkit.prototype.getPackageJSON = function () { + var pathToPackage = path_1.default.join(this.workspace, 'package.json'); + if (!fs_1.default.existsSync(pathToPackage)) + throw new Error('package.json could not be found in your project\'s root.'); + return require(pathToPackage); + }; + /** + * Get the configuration settings for this action in the project workspace. + * + * @param key - If this is a string like `.myfilerc` it will look for that file. + * If it's a YAML file, it will parse that file as a JSON object. Otherwise, it will + * return the value of the property in the `package.json` file of the project. + * + * @example This method can be used in three different ways: + * + * ```js + * // Get the .rc file + * const cfg = toolkit.config('.myactionrc') + * + * // Get the YAML file + * const cfg = toolkit.config('myaction.yml') + * + * // Get the property in package.json + * const cfg = toolkit.config('myaction') + * ``` + */ + Toolkit.prototype.config = function (key) { + if (/\..+rc/.test(key)) { + // It's a file like .npmrc or .eslintrc! + return JSON.parse(this.getFile(key)); + } + else if (key.endsWith('.yml') || key.endsWith('.yaml')) { + // It's a YAML file! Gotta serialize it! + return js_yaml_1.default.safeLoad(this.getFile(key)); + } + else { + // It's a regular object key in the package.json + var pkg = this.getPackageJSON(); + return pkg[key]; + } + }; + /** + * Run a CLI command in the workspace. This runs [execa](https://github.com/sindresorhus/execa) + * under the hood so check there for the full options. + * + * @param command - Command to run + * @param args - Argument (this can be a string or multiple arguments in an array) + * @param cwd - Directory to run the command in + * @param [opts] - Options to pass to the execa function + */ + Toolkit.prototype.runInWorkspace = function (command, args, opts) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + if (typeof args === 'string') + args = [args]; + return [2 /*return*/, execa_1.default(command, args, __assign({ cwd: this.workspace }, opts))]; + }); + }); + }; + /** + * Run the handler when someone triggers the `/command` in a comment body. + * + * @param command - Command to listen for + * @param handler - Handler to run when the command is used + */ + Toolkit.prototype.command = function (command, handler) { + return __awaiter(this, void 0, void 0, function () { + var reg, body, match; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + // Don't trigger for bots + if (this.context.payload.sender && this.context.payload.sender.type === 'Bot') { + return [2 /*return*/]; + } + this.checkAllowedEvents([ + 'pull_request', + 'issues', + 'issue_comment', + 'commit_comment', + 'pull_request_review', + 'pull_request_review_comment' + ]); + reg = new RegExp("^/" + command + "(?:$|\\s(.*))", 'gm'); + body = get_body_1.getBody(this.context.payload); + if (!body) + return [2 /*return*/]; + _a.label = 1; + case 1: + if (!(match = reg.exec(body))) return [3 /*break*/, 6]; + if (!match[1]) return [3 /*break*/, 3]; + return [4 /*yield*/, handler(minimist_1.default(match[1].split(' ')), match)]; + case 2: + _a.sent(); + return [3 /*break*/, 5]; + case 3: return [4 /*yield*/, handler({}, match)]; + case 4: + _a.sent(); + _a.label = 5; + case 5: return [3 /*break*/, 1]; + case 6: return [2 /*return*/]; + } + }); + }); + }; + /** + * Returns true if this event is allowed + */ + Toolkit.prototype.eventIsAllowed = function (event) { + var _a = event.split('.'), eventName = _a[0], action = _a[1]; + if (action) { + return eventName === this.context.event && this.context.payload.action === action; + } + return eventName === this.context.event; + }; + Toolkit.prototype.checkAllowedEvents = function (event) { + var _this = this; + if (!event) + return; + var passed = Array.isArray(event) + ? event.some(function (e) { return _this.eventIsAllowed(e); }) + : this.eventIsAllowed(event); + if (!passed) { + var actionStr = this.context.payload.action ? "." + this.context.payload.action : ''; + this.log.error("Event `" + this.context.event + actionStr + "` is not supported by this action."); + this.exit.neutral(); + } + }; + /** + * Wrap a Signale logger so that its a callable class + */ + Toolkit.prototype.wrapLogger = function (logger) { + // Create a callable function + var fn = logger.info.bind(logger); + // Add the log methods onto the function + var wrapped = Object.assign(fn, logger); + // Clone the prototype + Object.setPrototypeOf(wrapped, logger); + return wrapped; + }; + /** + * Log warnings to the console for missing environment variables + */ + Toolkit.prototype.warnForMissingEnvVars = function () { + var requiredEnvVars = [ + 'HOME', + 'GITHUB_WORKFLOW', + 'GITHUB_ACTION', + 'GITHUB_ACTOR', + 'GITHUB_REPOSITORY', + 'GITHUB_EVENT_NAME', + 'GITHUB_EVENT_PATH', + 'GITHUB_WORKSPACE', + 'GITHUB_SHA' + ]; + var requiredButMissing = requiredEnvVars.filter(function (key) { return !process.env.hasOwnProperty(key); }); + if (requiredButMissing.length > 0) { + // This isn't being run inside of a GitHub Action environment! + var list = requiredButMissing.map(function (key) { return "- " + key; }).join('\n'); + var warning = "There are environment variables missing from this runtime, but would be present on GitHub.\n" + list; + this.log.warn(warning); + } + }; + /** + * The Action should fail if there are secrets it needs but does not have + */ + Toolkit.prototype.checkRequiredSecrets = function (secrets) { + if (!secrets || secrets.length === 0) + return; + // Filter missing but required secrets + var requiredButMissing = secrets.filter(function (key) { return !process.env.hasOwnProperty(key); }); + // Everything we need is here + if (requiredButMissing.length === 0) + return; + // Exit with a failing status + var list = requiredButMissing.map(function (key) { return "- " + key; }).join('\n'); + this.exit.failure("The following secrets are required for this GitHub Action to run:\n" + list); + }; + return Toolkit; +}()); +exports.Toolkit = Toolkit; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/index.js.map b/node_modules/actions-toolkit/lib/index.js.map new file mode 100644 index 0000000..2a24824 --- /dev/null +++ b/node_modules/actions-toolkit/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsD;AACtD,0CAAmB;AACnB,oDAA0B;AAC1B,sDAA+C;AAC/C,8CAAuB;AACvB,mCAA6C;AAC7C,qCAAmC;AACnC,+BAA6B;AAC7B,uCAAoC;AACpC,mCAAiC;AACjC,iCAA+B;AAgB/B;IA4EE,iBAAa,IAAyB;QAAzB,qBAAA,EAAA,SAAyB;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,8BAA8B;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CACxB,IAAI,CAAC,MAAM,IAAI,IAAI,iBAAO,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC,CAClE,CAAA;QAED,4DAA4D;QAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAE5B,8CAA8C;QAC9C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAA0B,CAAA;QACvD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;QAC/C,IAAI,CAAC,SAAS,GAAG,kBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAEhD,uBAAuB;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAE7D,cAAc;QACd,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IApGD;;;;;;;;;;;;;;OAcG;IACiB,WAAG,GAAvB,UAAyB,IAAiC,EAAE,IAAqB;;;;;;wBACzE,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;;;;wBAGvB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;6BAGhB,CAAA,GAAG,YAAY,OAAO,CAAA,EAAtB,wBAAsB;wBAAG,qBAAM,GAAG,EAAA;;wBAAT,KAAA,SAAS,CAAA;;;wBAAG,KAAA,GAAG,CAAA;;;oBAF/C,wEAAwE;oBACxE,yEAAyE;oBACzE,0BAA+C;;;wBAE/C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAG,CAAC,CAAA;;;;;;KAE1B;IA4ED;;;;;;;;;OASG;IACI,yBAAO,GAAd,UAAgB,QAAgB,EAAE,QAAiB;QAAjB,yBAAA,EAAA,iBAAiB;QACjD,IAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAQ,QAAQ,qDAAkD,CAAC,CAAA;QACnH,OAAO,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;OAMG;IACI,gCAAc,GAArB;QACE,IAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAC/D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;QAC9G,OAAO,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,wBAAM,GAAb,UAAyB,GAAW;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtB,wCAAwC;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;SACrC;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACxD,wCAAwC;YACxC,OAAO,iBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;SACxC;aAAM;YACL,gDAAgD;YAChD,IAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAO,CAAA;YACtC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;SAChB;IACH,CAAC;IAED;;;;;;;;OAQG;IACU,gCAAc,GAA3B,UAA6B,OAAe,EAAE,IAAwB,EAAE,IAAmB;;;gBACzF,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC3C,sBAAO,eAAK,CAAC,OAAO,EAAE,IAAI,aAAI,GAAG,EAAE,IAAI,CAAC,SAAS,IAAK,IAAI,EAAG,EAAA;;;KAC9D;IAED;;;;;OAKG;IACU,yBAAO,GAApB,UAAsB,OAAe,EAAE,OAAyE;;;;;;wBAC9G,yBAAyB;wBACzB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE;4BAC7E,sBAAM;yBACP;wBAED,IAAI,CAAC,kBAAkB,CAAC;4BACtB,cAAc;4BACd,QAAQ;4BACR,eAAe;4BACf,gBAAgB;4BAChB,qBAAqB;4BACrB,6BAA6B;yBAC9B,CAAC,CAAA;wBAEI,GAAG,GAAG,IAAI,MAAM,CAAC,OAAM,OAAO,kBAAe,EAAE,IAAI,CAAC,CAAA;wBAEpD,IAAI,GAAG,kBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;wBAC1C,IAAI,CAAC,IAAI;4BAAE,sBAAM;;;6BAKV,CAAA,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BACvB,KAAK,CAAC,CAAC,CAAC,EAAR,wBAAQ;wBACV,qBAAM,OAAO,CAAC,kBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAA;;wBAAnD,SAAmD,CAAA;;4BAEnD,qBAAM,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAA;;wBAAxB,SAAwB,CAAA;;;;;;;KAG7B;IAED;;OAEG;IACK,gCAAc,GAAtB,UAAwB,KAAa;QAC7B,IAAA,qBAAsC,EAArC,iBAAS,EAAE,cAA0B,CAAA;QAE5C,IAAI,MAAM,EAAE;YACV,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAA;SAClF;QAED,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;IACzC,CAAC;IAEO,oCAAkB,GAA1B,UAA4B,KAAoC;QAAhE,iBAYC;QAXC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAE9B,IAAI,CAAC,MAAM,EAAE;YACX,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;YACtF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAW,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,uCAAqC,CAAC,CAAA;YAC9F,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;SACpB;IACH,CAAC;IAED;;OAEG;IACK,4BAAU,GAAlB,UAAoB,MAAe;QACjC,6BAA6B;QAC7B,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,wCAAwC;QACxC,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACzC,sBAAsB;QACtB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACtC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACK,uCAAqB,GAA7B;QACE,IAAM,eAAe,GAAG;YACtB,MAAM;YACN,iBAAiB;YACjB,eAAe;YACf,cAAc;YACd,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,YAAY;SACb,CAAA;QAED,IAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAhC,CAAgC,CAAC,CAAA;QAC1F,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,8DAA8D;YAC9D,IAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,OAAK,GAAK,EAAV,CAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjE,IAAM,OAAO,GAAG,iGAA+F,IAAM,CAAA;YACrH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACvB;IACH,CAAC;IAED;;OAEG;IACK,sCAAoB,GAA5B,UAA8B,OAAkB;QAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC5C,sCAAsC;QACtC,IAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAhC,CAAgC,CAAC,CAAA;QAClF,6BAA6B;QAC7B,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC3C,6BAA6B;QAC7B,IAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,OAAK,GAAK,EAAV,CAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wEAAsE,IAAM,CAAC,CAAA;IACjG,CAAC;IACH,cAAC;AAAD,CAAC,AAxSD,IAwSC;AAxSY,0BAAO"} \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/store.d.ts b/node_modules/actions-toolkit/lib/store.d.ts new file mode 100644 index 0000000..e043e80 --- /dev/null +++ b/node_modules/actions-toolkit/lib/store.d.ts @@ -0,0 +1,29 @@ +import { Cache } from 'flat-cache'; +export declare class Store { + file: string; + /** + * Get a value from the store by it's key + */ + get: Cache['getKey']; + /** + * Set a key/value pair in the store + */ + set: Cache['setKey']; + /** + * Return all key/values in the store as a JSON object + */ + all: Cache['all']; + /** + * Delete a key from the store + */ + del: Cache['removeKey']; + /** + * Save the in-memory store to a file + */ + save: Cache['save']; + /** + * Instance of flat-cache + */ + private cache; + constructor(workflow: string, workspace: string); +} diff --git a/node_modules/actions-toolkit/lib/store.js b/node_modules/actions-toolkit/lib/store.js new file mode 100644 index 0000000..aaaf505 --- /dev/null +++ b/node_modules/actions-toolkit/lib/store.js @@ -0,0 +1,27 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var flat_cache_1 = require("flat-cache"); +var path_1 = __importDefault(require("path")); +var Store = /** @class */ (function () { + function Store(workflow, workspace) { + var _this = this; + this.file = "." + (workflow || 'workflow') + "-cache"; + this.cache = flat_cache_1.load(this.file, path_1.default.resolve(workspace || process.cwd())); + this.get = this.cache.getKey.bind(this.cache); + this.set = this.cache.setKey.bind(this.cache); + this.all = this.cache.all.bind(this.cache); + this.del = this.cache.removeKey.bind(this.cache); + this.save = this.cache.save.bind(this.cache, true); + process.on('exit', function () { + if (_this.cache.keys().length > 0) { + _this.save(); + } + }); + } + return Store; +}()); +exports.Store = Store; +//# sourceMappingURL=store.js.map \ No newline at end of file diff --git a/node_modules/actions-toolkit/lib/store.js.map b/node_modules/actions-toolkit/lib/store.js.map new file mode 100644 index 0000000..42c7331 --- /dev/null +++ b/node_modules/actions-toolkit/lib/store.js.map @@ -0,0 +1 @@ +{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";;;;;AAAA,yCAAwC;AACxC,8CAAuB;AAEvB;IAiCE,eAAa,QAAgB,EAAE,SAAiB;QAAhD,iBAeC;QAdC,IAAI,CAAC,IAAI,GAAG,OAAI,QAAQ,IAAI,UAAU,YAAQ,CAAA;QAC9C,IAAI,CAAC,KAAK,GAAG,iBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAEtE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAElD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;YACjB,IAAI,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,KAAI,CAAC,IAAI,EAAE,CAAA;aACZ;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACH,YAAC;AAAD,CAAC,AAjDD,IAiDC;AAjDY,sBAAK"} \ No newline at end of file diff --git a/node_modules/actions-toolkit/package.json b/node_modules/actions-toolkit/package.json new file mode 100644 index 0000000..272014a --- /dev/null +++ b/node_modules/actions-toolkit/package.json @@ -0,0 +1,100 @@ +{ + "name": "actions-toolkit", + "version": "2.2.0", + "description": "A toolkit for building GitHub Actions in Node.js", + "main": "./lib/index.js", + "types": "./lib/index.d.ts", + "bin": { + "actions-toolkit": "./bin/cli.js" + }, + "files": [ + "/bin", + "/lib" + ], + "scripts": { + "build": "rimraf lib && tsc -p tsconfig.json", + "lint": "tslint --project tests", + "test": "tsc --noEmit -p tests && jest --coverage && npm run lint", + "test:update": "tsc --noEmit -p tests && jest --coverage -u && npm run lint" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/JasonEtco/actions-toolkit.git" + }, + "keywords": [ + "github", + "github actions", + "typescript", + "github api" + ], + "author": "Jason Etcovitch ", + "license": "MIT", + "bugs": { + "url": "https://github.com/JasonEtco/actions-toolkit/issues" + }, + "homepage": "https://github.com/JasonEtco/actions-toolkit#readme", + "devDependencies": { + "@types/dotenv": "^6.1.0", + "@types/jest": "^24.0.11", + "@types/js-yaml": "^3.12.0", + "@types/nock": "^9.3.1", + "@types/node": "^11.9.4", + "jest": "^24.5.0", + "nock": "^10.0.6", + "rimraf": "^2.6.3", + "standard": "^12.0.1", + "ts-jest": "^24.0.0", + "tslint": "^5.12.1", + "tslint-config-prettier": "^1.18.0", + "tslint-config-standard": "^8.0.1", + "typescript": "^3.3.3" + }, + "standard": { + "env": [ + "jest" + ] + }, + "dependencies": { + "@octokit/graphql": "^2.0.1", + "@octokit/rest": "^16.15.0", + "@types/execa": "^0.9.0", + "@types/flat-cache": "^2.0.0", + "@types/minimist": "^1.2.0", + "@types/signale": "^1.2.1", + "enquirer": "^2.3.0", + "execa": "^1.0.0", + "flat-cache": "^2.0.1", + "js-yaml": "^3.13.0", + "minimist": "^1.2.0", + "signale": "^1.4.0" + }, + "jest": { + "testEnvironment": "node", + "setupFiles": [ + "/tests/setup.ts" + ], + "coveragePathIgnorePatterns": [ + "/lib/" + ], + "moduleFileExtensions": [ + "ts", + "js", + "json" + ], + "transform": { + ".+\\.tsx?$": "ts-jest" + }, + "testMatch": [ + "/tests/**/*.test.(ts|js)" + ], + "globals": { + "ts-jest": { + "babelConfig": false + } + } + } + +,"_resolved": "https://registry.npmjs.org/actions-toolkit/-/actions-toolkit-2.2.0.tgz" +,"_integrity": "sha512-g/GM9weEKb8DWvjVyrOnX+eroehJj3bocxxJtOlqWY2vhCzezqn91m736xQOfNNzU6GCepoJfIGiPycec1EIxA==" +,"_from": "actions-toolkit@2.2.0" +} \ No newline at end of file diff --git a/node_modules/ansi-colors/LICENSE b/node_modules/ansi-colors/LICENSE new file mode 100644 index 0000000..8749cc7 --- /dev/null +++ b/node_modules/ansi-colors/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-present, Brian Woodward. + +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/ansi-colors/README.md b/node_modules/ansi-colors/README.md new file mode 100644 index 0000000..4d27647 --- /dev/null +++ b/node_modules/ansi-colors/README.md @@ -0,0 +1,279 @@ +# ansi-colors [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W8YFZ425KND68) [![NPM version](https://img.shields.io/npm/v/ansi-colors.svg?style=flat)](https://www.npmjs.com/package/ansi-colors) [![NPM monthly downloads](https://img.shields.io/npm/dm/ansi-colors.svg?style=flat)](https://npmjs.org/package/ansi-colors) [![NPM total downloads](https://img.shields.io/npm/dt/ansi-colors.svg?style=flat)](https://npmjs.org/package/ansi-colors) [![Linux Build Status](https://img.shields.io/travis/doowb/ansi-colors.svg?style=flat&label=Travis)](https://travis-ci.org/doowb/ansi-colors) + +> Easily add ANSI colors to your text and symbols in the terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs). + +Please consider following this project's author, [Brian Woodward](https://github.com/doowb), and consider starring the project to show your :heart: and support. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save ansi-colors +``` + +![image](https://user-images.githubusercontent.com/383994/39635445-8a98a3a6-4f8b-11e8-89c1-068c45d4fff8.png) + +## Why use this? + +ansi-colors is _the fastest Node.js library for terminal styling_. A more performant drop-in replacement for chalk, with no dependencies. + +* _Blazing fast_ - Fastest terminal styling library in node.js, 10-20x faster than chalk! + +* _Drop-in replacement_ for [chalk](https://github.com/chalk/chalk). +* _No dependencies_ (Chalk has 7 dependencies in its tree!) + +* _Safe_ - Does not modify the `String.prototype` like [colors](https://github.com/Marak/colors.js). +* Supports [nested colors](#nested-colors), **and does not have the [nested styling bug](#nested-styling-bug) that is present in [colorette](https://github.com/jorgebucaran/colorette), [chalk](https://github.com/chalk/chalk), and [kleur](https://github.com/lukeed/kleur)**. +* Supports [chained colors](#chained-colors). +* [Toggle color support](#toggle-color-support) on or off. + +## Usage + +```js +const c = require('ansi-colors'); + +console.log(c.red('This is a red string!')); +console.log(c.green('This is a red string!')); +console.log(c.cyan('This is a cyan string!')); +console.log(c.yellow('This is a yellow string!')); +``` + +![image](https://user-images.githubusercontent.com/383994/39653848-a38e67da-4fc0-11e8-89ae-98c65ebe9dcf.png) + +## Chained colors + +```js +console.log(c.bold.red('this is a bold red message')); +console.log(c.bold.yellow.italic('this is a bold yellow italicized message')); +console.log(c.green.bold.underline('this is a bold green underlined message')); +``` + +![image](https://user-images.githubusercontent.com/383994/39635780-7617246a-4f8c-11e8-89e9-05216cc54e38.png) + +## Nested colors + +```js +console.log(c.yellow(`foo ${c.red.bold('red')} bar ${c.cyan('cyan')} baz`)); +``` + +![image](https://user-images.githubusercontent.com/383994/39635817-8ed93d44-4f8c-11e8-8afd-8c3ea35f5fbe.png) + +### Nested styling bug + +`ansi-colors` does not have the nested styling bug found in [colorette](https://github.com/jorgebucaran/colorette), [chalk](https://github.com/chalk/chalk), and [kleur](https://github.com/lukeed/kleur). + +```js +const { bold, red } = require('ansi-styles'); +console.log(bold(`foo ${red.dim('bar')} baz`)); + +const colorette = require('colorette'); +console.log(colorette.bold(`foo ${colorette.red(colorette.dim('bar'))} baz`)); + +const kleur = require('kleur'); +console.log(kleur.bold(`foo ${kleur.red.dim('bar')} baz`)); + +const chalk = require('chalk'); +console.log(chalk.bold(`foo ${chalk.red.dim('bar')} baz`)); +``` + +**Results in the following** + +(sans icons and labels) + +![image](https://user-images.githubusercontent.com/383994/47280326-d2ee0580-d5a3-11e8-9611-ea6010f0a253.png) + +## Toggle color support + +Easily enable/disable colors. + +```js +const c = require('ansi-colors'); + +// disable colors manually +c.enabled = false; + +// or use a library to automatically detect support +c.enabled = require('color-support').hasBasic; + +console.log(c.red('I will only be colored red if the terminal supports colors')); +``` + +## Strip ANSI codes + +Use the `.unstyle` method to strip ANSI codes from a string. + +```js +console.log(c.unstyle(c.blue.bold('foo bar baz'))); +//=> 'foo bar baz' +``` + +## Available styles + +**Note** that bright and bright-background colors are not always supported. + +| Colors | Background Colors | Bright Colors | Bright Background Colors | +| ------- | ----------------- | ------------- | ------------------------ | +| black | bgBlack | blackBright | bgBlackBright | +| red | bgRed | redBright | bgRedBright | +| green | bgGreen | greenBright | bgGreenBright | +| yellow | bgYellow | yellowBright | bgYellowBright | +| blue | bgBlue | blueBright | bgBlueBright | +| magenta | bgMagenta | magentaBright | bgMagentaBright | +| cyan | bgCyan | cyanBright | bgCyanBright | +| white | bgWhite | whiteBright | bgWhiteBright | +| gray | | | | +| grey | | | | + +_(`gray` is the U.S. spelling, `grey` is more commonly used in the Canada and U.K.)_ + +### Style modifiers + +* dim +* **bold** + +* hidden +* _italic_ + +* underline +* inverse +* ~~strikethrough~~ + +* reset + +## Performance + +**Libraries tested** + +* ansi-colors v3.0.4 +* chalk v2.4.1 + +### Mac + +> MacBook Pro, Intel Core i7, 2.3 GHz, 16 GB. + +**Load time** + +Time it takes to load the first time `require()` is called: + +* ansi-colors - `1.915ms` +* chalk - `12.437ms` + +**Benchmarks** + +``` +# All Colors + ansi-colors x 173,851 ops/sec ±0.42% (91 runs sampled) + chalk x 9,944 ops/sec ±2.53% (81 runs sampled))) + +# Chained colors + ansi-colors x 20,791 ops/sec ±0.60% (88 runs sampled) + chalk x 2,111 ops/sec ±2.34% (83 runs sampled) + +# Nested colors + ansi-colors x 59,304 ops/sec ±0.98% (92 runs sampled) + chalk x 4,590 ops/sec ±2.08% (82 runs sampled) +``` + +### Windows + +> Windows 10, Intel Core i7-7700k CPU @ 4.2 GHz, 32 GB + +**Load time** + +Time it takes to load the first time `require()` is called: + +* ansi-colors - `1.494ms` +* chalk - `11.523ms` + +**Benchmarks** + +``` +# All Colors + ansi-colors x 193,088 ops/sec ±0.51% (95 runs sampled)) + chalk x 9,612 ops/sec ±3.31% (77 runs sampled))) + +# Chained colors + ansi-colors x 26,093 ops/sec ±1.13% (94 runs sampled) + chalk x 2,267 ops/sec ±2.88% (80 runs sampled)) + +# Nested colors + ansi-colors x 67,747 ops/sec ±0.49% (93 runs sampled) + chalk x 4,446 ops/sec ±3.01% (82 runs sampled)) +``` + +## About + +
+Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +
+ +
+Running Tests + +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: + +```sh +$ npm install && npm test +``` + +
+ +
+Building docs + +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ + +To generate the readme, run the following command: + +```sh +$ npm install -g verbose/verb#dev verb-generate-readme && verb +``` + +
+ +### Related projects + +You might also be interested in these projects: + +* [ansi-wrap](https://www.npmjs.com/package/ansi-wrap): Create ansi colors by passing the open and close codes. | [homepage](https://github.com/jonschlinkert/ansi-wrap "Create ansi colors by passing the open and close codes.") +* [strip-color](https://www.npmjs.com/package/strip-color): Strip ANSI color codes from a string. No dependencies. | [homepage](https://github.com/jonschlinkert/strip-color "Strip ANSI color codes from a string. No dependencies.") + +### Contributors + +| **Commits** | **Contributor** | +| --- | --- | +| 42 | [doowb](https://github.com/doowb) | +| 38 | [jonschlinkert](https://github.com/jonschlinkert) | +| 6 | [lukeed](https://github.com/lukeed) | +| 2 | [Silic0nS0ldier](https://github.com/Silic0nS0ldier) | +| 1 | [dwieeb](https://github.com/dwieeb) | +| 1 | [jorgebucaran](https://github.com/jorgebucaran) | +| 1 | [madhavarshney](https://github.com/madhavarshney) | +| 1 | [chapterjason](https://github.com/chapterjason) | + +### Author + +**Brian Woodward** + +* [GitHub Profile](https://github.com/doowb) +* [Twitter Profile](https://twitter.com/doowb) +* [LinkedIn Profile](https://linkedin.com/in/woodwardbrian) + +Please consider supporting me on Patreon, or [start your own Patreon page](https://patreon.com/invite/bxpbvm)! + + + + + +### License + +Copyright © 2019, [Brian Woodward](https://github.com/doowb). +Released under the [MIT License](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on March 03, 2019._ \ No newline at end of file diff --git a/node_modules/ansi-colors/index.js b/node_modules/ansi-colors/index.js new file mode 100644 index 0000000..ce09969 --- /dev/null +++ b/node_modules/ansi-colors/index.js @@ -0,0 +1,117 @@ +'use strict'; + +const colors = { enabled: true, visible: true, styles: {}, keys: {} }; + +if ('FORCE_COLOR' in process.env) { + colors.enabled = process.env.FORCE_COLOR !== '0'; +} + +const ansi = style => { + style.open = `\u001b[${style.codes[0]}m`; + style.close = `\u001b[${style.codes[1]}m`; + style.regex = new RegExp(`\\u001b\\[${style.codes[1]}m`, 'g'); + return style; +}; + +const wrap = (style, str, nl) => { + let { open, close, regex } = style; + str = open + (str.includes(close) ? str.replace(regex, close + open) : str) + close; + // see https://github.com/chalk/chalk/pull/92, thanks to the + // chalk contributors for this fix. However, we've confirmed that + // this issue is also present in Windows terminals + return nl ? str.replace(/\r?\n/g, `${close}$&${open}`) : str; +}; + +const style = (input, stack) => { + if (input === '' || input == null) return ''; + if (colors.enabled === false) return input; + if (colors.visible === false) return ''; + let str = '' + input; + let nl = str.includes('\n'); + let n = stack.length; + while (n-- > 0) str = wrap(colors.styles[stack[n]], str, nl); + return str; +}; + +const define = (name, codes, type) => { + colors.styles[name] = ansi({ name, codes }); + let t = colors.keys[type] || (colors.keys[type] = []); + t.push(name); + + Reflect.defineProperty(colors, name, { + get() { + let color = input => style(input, color.stack); + Reflect.setPrototypeOf(color, colors); + color.stack = this.stack ? this.stack.concat(name) : [name]; + return color; + } + }); +}; + +define('reset', [0, 0], 'modifier'); +define('bold', [1, 22], 'modifier'); +define('dim', [2, 22], 'modifier'); +define('italic', [3, 23], 'modifier'); +define('underline', [4, 24], 'modifier'); +define('inverse', [7, 27], 'modifier'); +define('hidden', [8, 28], 'modifier'); +define('strikethrough', [9, 29], 'modifier'); + +define('black', [30, 39], 'color'); +define('red', [31, 39], 'color'); +define('green', [32, 39], 'color'); +define('yellow', [33, 39], 'color'); +define('blue', [34, 39], 'color'); +define('magenta', [35, 39], 'color'); +define('cyan', [36, 39], 'color'); +define('white', [37, 39], 'color'); +define('gray', [90, 39], 'color'); +define('grey', [90, 39], 'color'); + +define('bgBlack', [40, 49], 'bg'); +define('bgRed', [41, 49], 'bg'); +define('bgGreen', [42, 49], 'bg'); +define('bgYellow', [43, 49], 'bg'); +define('bgBlue', [44, 49], 'bg'); +define('bgMagenta', [45, 49], 'bg'); +define('bgCyan', [46, 49], 'bg'); +define('bgWhite', [47, 49], 'bg'); + +define('blackBright', [90, 39], 'bright'); +define('redBright', [91, 39], 'bright'); +define('greenBright', [92, 39], 'bright'); +define('yellowBright', [93, 39], 'bright'); +define('blueBright', [94, 39], 'bright'); +define('magentaBright', [95, 39], 'bright'); +define('cyanBright', [96, 39], 'bright'); +define('whiteBright', [97, 39], 'bright'); + +define('bgBlackBright', [100, 49], 'bgBright'); +define('bgRedBright', [101, 49], 'bgBright'); +define('bgGreenBright', [102, 49], 'bgBright'); +define('bgYellowBright', [103, 49], 'bgBright'); +define('bgBlueBright', [104, 49], 'bgBright'); +define('bgMagentaBright', [105, 49], 'bgBright'); +define('bgCyanBright', [106, 49], 'bgBright'); +define('bgWhiteBright', [107, 49], 'bgBright'); + +/* eslint-disable no-control-regex */ +// this is a modified, optimized version of +// https://github.com/chalk/ansi-regex (MIT License) +const re = colors.ansiRegex = /[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g; + +colors.hasColor = colors.hasAnsi = str => { + re.lastIndex = 0; + return !!str && typeof str === 'string' && re.test(str); +}; + +colors.unstyle = str => { + re.lastIndex = 0; + return typeof str === 'string' ? str.replace(re, '') : str; +}; + +colors.none = colors.clear = colors.noop = str => str; // no-op, for programmatic usage +colors.stripColor = colors.unstyle; +colors.symbols = require('./symbols'); +colors.define = define; +module.exports = colors; diff --git a/node_modules/ansi-colors/package.json b/node_modules/ansi-colors/package.json new file mode 100644 index 0000000..6ba8126 --- /dev/null +++ b/node_modules/ansi-colors/package.json @@ -0,0 +1,113 @@ +{ + "name": "ansi-colors", + "description": "Easily add ANSI colors to your text and symbols in the terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs).", + "version": "3.2.4", + "homepage": "https://github.com/doowb/ansi-colors", + "author": "Brian Woodward (https://github.com/doowb)", + "contributors": [ + "Brian Woodward (https://twitter.com/doowb)", + "Jason Schilling (https://sourecode.de)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Jordan (https://github.com/Silic0nS0ldier)" + ], + "repository": "doowb/ansi-colors", + "bugs": { + "url": "https://github.com/doowb/ansi-colors/issues" + }, + "license": "MIT", + "files": [ + "index.js", + "symbols.js", + "types/index.d.ts" + ], + "main": "index.js", + "types": "./types/index.d.ts", + "engines": { + "node": ">=6" + }, + "scripts": { + "test": "mocha" + }, + "devDependencies": { + "decache": "^4.4.0", + "gulp-format-md": "^1.0.0", + "justified": "^1.0.1", + "mocha": "^5.2.0", + "text-table": "^0.2.0" + }, + "keywords": [ + "ansi", + "bgblack", + "bgBlack", + "bgblue", + "bgBlue", + "bgcyan", + "bgCyan", + "bggreen", + "bgGreen", + "bgmagenta", + "bgMagenta", + "bgred", + "bgRed", + "bgwhite", + "bgWhite", + "bgyellow", + "bgYellow", + "black", + "blue", + "bold", + "clorox", + "colors", + "cyan", + "dim", + "gray", + "green", + "grey", + "hidden", + "inverse", + "italic", + "kleur", + "magenta", + "red", + "reset", + "strikethrough", + "underline", + "white", + "yellow" + ], + "verb": { + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "data": { + "author": { + "linkedin": "woodwardbrian", + "twitter": "doowb" + } + }, + "plugins": [ + "gulp-format-md" + ], + "lint": { + "reflinks": true + }, + "related": { + "list": [ + "ansi-wrap", + "strip-color" + ] + }, + "reflinks": [ + "chalk", + "colorette", + "colors", + "kleur" + ] + } + +,"_resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" +,"_integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" +,"_from": "ansi-colors@3.2.4" +} \ No newline at end of file diff --git a/node_modules/ansi-colors/symbols.js b/node_modules/ansi-colors/symbols.js new file mode 100644 index 0000000..9643d8d --- /dev/null +++ b/node_modules/ansi-colors/symbols.js @@ -0,0 +1,46 @@ +'use strict'; + +const isWindows = process.platform === 'win32'; +const isLinux = process.platform === 'linux'; + +const windows = { + bullet: '•', + check: '√', + cross: '×', + ellipsis: '...', + heart: '❤', + info: 'i', + line: '─', + middot: '·', + minus: '-', + plus: '+', + question: '?', + questionSmall: '﹖', + pointer: '>', + pointerSmall: '»', + warning: '‼' +}; + +const other = { + ballotCross: '✘', + bullet: '•', + check: '✔', + cross: '✖', + ellipsis: '…', + heart: '❤', + info: 'ℹ', + line: '─', + middot: '·', + minus: '-', + plus: '+', + question: '?', + questionFull: '?', + questionSmall: '﹖', + pointer: isLinux ? '▸' : '❯', + pointerSmall: isLinux ? '‣' : '›', + warning: '⚠' +}; + +module.exports = isWindows ? windows : other; +Reflect.defineProperty(module.exports, 'windows', { enumerable: false, value: windows }); +Reflect.defineProperty(module.exports, 'other', { enumerable: false, value: other }); diff --git a/node_modules/ansi-colors/types/index.d.ts b/node_modules/ansi-colors/types/index.d.ts new file mode 100644 index 0000000..ca2d24a --- /dev/null +++ b/node_modules/ansi-colors/types/index.d.ts @@ -0,0 +1,161 @@ +// Imported from DefinitelyTyped project. +// TypeScript definitions for ansi-colors +// Definitions by: Rogier Schouten +// Integrated by: Jordan Mele + +interface SymbolsType { + check: string; + cross: string; + info: string; + line: string; + pointer: string; + pointerSmall: string; + question: string; + warning: string; +} + +type StyleArrayStructure = [number, number]; +interface StyleArrayProperties { + open: string; + close: string; + closeRe: string; +} + +type StyleType = StyleArrayStructure & StyleArrayProperties; + +export interface StyleFunction extends StylesType { + (s: string): string; +} + +interface StylesType { + // modifiers + reset: T; + bold: T; + dim: T; + italic: T; + underline: T; + inverse: T; + hidden: T; + strikethrough: T; + + // colors + black: T; + red: T; + green: T; + yellow: T; + blue: T; + magenta: T; + cyan: T; + white: T; + gray: T; + grey: T; + + // bright colors + blackBright: T; + redBright: T; + greenBright: T; + yellowBright: T; + blueBright: T; + magentaBright: T; + cyanBright: T; + whiteBright: T; + + // background colors + bgBlack: T; + bgRed: T; + bgGreen: T; + bgYellow: T; + bgBlue: T; + bgMagenta: T; + bgCyan: T; + bgWhite: T; + + // bright background colors + bgBlackBright: T; + bgRedBright: T; + bgGreenBright: T; + bgYellowBright: T; + bgBlueBright: T; + bgMagentaBright: T; + bgCyanBright: T; + bgWhiteBright: T; +} + +// modifiers +export const reset: StyleFunction; +export const bold: StyleFunction; +export const dim: StyleFunction; +export const italic: StyleFunction; +export const underline: StyleFunction; +export const inverse: StyleFunction; +export const hidden: StyleFunction; +export const strikethrough: StyleFunction; + +// colors +export const black: StyleFunction; +export const red: StyleFunction; +export const green: StyleFunction; +export const yellow: StyleFunction; +export const blue: StyleFunction; +export const magenta: StyleFunction; +export const cyan: StyleFunction; +export const white: StyleFunction; +export const gray: StyleFunction; +export const grey: StyleFunction; + +// bright colors +export const blackBright: StyleFunction; +export const redBright: StyleFunction; +export const greenBright: StyleFunction; +export const yellowBright: StyleFunction; +export const blueBright: StyleFunction; +export const magentaBright: StyleFunction; +export const cyanBright: StyleFunction; +export const whiteBright: StyleFunction; + +// background colors +export const bgBlack: StyleFunction; +export const bgRed: StyleFunction; +export const bgGreen: StyleFunction; +export const bgYellow: StyleFunction; +export const bgBlue: StyleFunction; +export const bgMagenta: StyleFunction; +export const bgCyan: StyleFunction; +export const bgWhite: StyleFunction; + +// bright background colors +export const bgBlackBright: StyleFunction; +export const bgRedBright: StyleFunction; +export const bgGreenBright: StyleFunction; +export const bgYellowBright: StyleFunction; +export const bgBlueBright: StyleFunction; +export const bgMagentaBright: StyleFunction; +export const bgCyanBright: StyleFunction; +export const bgWhiteBright: StyleFunction; + +export let enabled: boolean; +export let visible: boolean; +export const ansiRegex: RegExp; + +/** + * Remove styles from string + */ +export function stripColor(s: string): string; + +/** + * Remove styles from string + */ +export function strip(s: string): string; + +/** + * Remove styles from string + */ +export function unstyle(s: string): string; + +export const styles: StylesType; +export const symbols: SymbolsType; + +/** + * Outputs a string with check-symbol as prefix + */ +export function ok(...args: string[]): string; diff --git a/node_modules/ansi-styles/index.js b/node_modules/ansi-styles/index.js new file mode 100644 index 0000000..90a871c --- /dev/null +++ b/node_modules/ansi-styles/index.js @@ -0,0 +1,165 @@ +'use strict'; +const colorConvert = require('color-convert'); + +const wrapAnsi16 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${code + offset}m`; +}; + +const wrapAnsi256 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};5;${code}m`; +}; + +const wrapAnsi16m = (fn, offset) => function () { + const rgb = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; +}; + +function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + + // Fix humans + styles.color.grey = styles.color.gray; + + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; + + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + + group[styleName] = styles[styleName]; + + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + } + + const ansi2ansi = n => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== 'object') { + continue; + } + + const suite = colorConvert[key]; + + if (key === 'ansi16') { + key = 'ansi'; + } + + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + + return styles; +} + +// Make the export immutable +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); diff --git a/node_modules/ansi-styles/license b/node_modules/ansi-styles/license new file mode 100644 index 0000000..e7af2f7 --- /dev/null +++ b/node_modules/ansi-styles/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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/ansi-styles/package.json b/node_modules/ansi-styles/package.json new file mode 100644 index 0000000..8e2972c --- /dev/null +++ b/node_modules/ansi-styles/package.json @@ -0,0 +1,60 @@ +{ + "name": "ansi-styles", + "version": "3.2.1", + "description": "ANSI escape codes for styling strings in the terminal", + "license": "MIT", + "repository": "chalk/ansi-styles", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava", + "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "color-convert": "^1.9.0" + }, + "devDependencies": { + "ava": "*", + "babel-polyfill": "^6.23.0", + "svg-term-cli": "^2.1.1", + "xo": "*" + }, + "ava": { + "require": "babel-polyfill" + } + +,"_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" +,"_integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" +,"_from": "ansi-styles@3.2.1" +} \ No newline at end of file diff --git a/node_modules/ansi-styles/readme.md b/node_modules/ansi-styles/readme.md new file mode 100644 index 0000000..3158e2d --- /dev/null +++ b/node_modules/ansi-styles/readme.md @@ -0,0 +1,147 @@ +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) + +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal + +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. + + + + +## Install + +``` +$ npm install ansi-styles +``` + + +## Usage + +```js +const style = require('ansi-styles'); + +console.log(`${style.green.open}Hello world!${style.green.close}`); + + +// Color conversion between 16/256/truecolor +// NOTE: If conversion goes to 16 colors or 256 colors, the original color +// may be degraded to fit that color palette. This means terminals +// that do not support 16 million colors will best-match the +// original color. +console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close); +console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close); +console.log(style.color.ansi16m.hex('#ABCDEF') + 'Hello world!' + style.color.close); +``` + +## API + +Each style has an `open` and `close` property. + + +## Styles + +### Modifiers + +- `reset` +- `bold` +- `dim` +- `italic` *(Not widely supported)* +- `underline` +- `inverse` +- `hidden` +- `strikethrough` *(Not widely supported)* + +### Colors + +- `black` +- `red` +- `green` +- `yellow` +- `blue` +- `magenta` +- `cyan` +- `white` +- `gray` ("bright black") +- `redBright` +- `greenBright` +- `yellowBright` +- `blueBright` +- `magentaBright` +- `cyanBright` +- `whiteBright` + +### Background colors + +- `bgBlack` +- `bgRed` +- `bgGreen` +- `bgYellow` +- `bgBlue` +- `bgMagenta` +- `bgCyan` +- `bgWhite` +- `bgBlackBright` +- `bgRedBright` +- `bgGreenBright` +- `bgYellowBright` +- `bgBlueBright` +- `bgMagentaBright` +- `bgCyanBright` +- `bgWhiteBright` + + +## Advanced usage + +By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. + +- `style.modifier` +- `style.color` +- `style.bgColor` + +###### Example + +```js +console.log(style.color.green.open); +``` + +Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values. + +###### Example + +```js +console.log(style.codes.get(36)); +//=> 39 +``` + + +## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728) + +`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors. + +To use these, call the associated conversion function with the intended output, for example: + +```js +style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code +style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code + +style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code +style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code + +style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code +style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code +``` + + +## Related + +- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal + + +## Maintainers + +- [Sindre Sorhus](https://github.com/sindresorhus) +- [Josh Junon](https://github.com/qix-) + + +## License + +MIT diff --git a/node_modules/argparse/CHANGELOG.md b/node_modules/argparse/CHANGELOG.md new file mode 100644 index 0000000..a43c628 --- /dev/null +++ b/node_modules/argparse/CHANGELOG.md @@ -0,0 +1,185 @@ +1.0.10 / 2018-02-15 +------------------ + +- Use .concat instead of + for arrays, #122. + + +1.0.9 / 2016-09-29 +------------------ + +- Rerelease after 1.0.8 - deps cleanup. + + +1.0.8 / 2016-09-29 +------------------ + +- Maintenance (deps bump, fix node 6.5+ tests, coverage report). + + +1.0.7 / 2016-03-17 +------------------ + +- Teach `addArgument` to accept string arg names. #97, @tomxtobin. + + +1.0.6 / 2016-02-06 +------------------ + +- Maintenance: moved to eslint & updated CS. + + +1.0.5 / 2016-02-05 +------------------ + +- Removed lodash dependency to significantly reduce install size. + Thanks to @mourner. + + +1.0.4 / 2016-01-17 +------------------ + +- Maintenance: lodash update to 4.0.0. + + +1.0.3 / 2015-10-27 +------------------ + +- Fix parse `=` in args: `--examplepath="C:\myfolder\env=x64"`. #84, @CatWithApple. + + +1.0.2 / 2015-03-22 +------------------ + +- Relaxed lodash version dependency. + + +1.0.1 / 2015-02-20 +------------------ + +- Changed dependencies to be compatible with ancient nodejs. + + +1.0.0 / 2015-02-19 +------------------ + +- Maintenance release. +- Replaced `underscore` with `lodash`. +- Bumped version to 1.0.0 to better reflect semver meaning. +- HISTORY.md -> CHANGELOG.md + + +0.1.16 / 2013-12-01 +------------------- + +- Maintenance release. Updated dependencies and docs. + + +0.1.15 / 2013-05-13 +------------------- + +- Fixed #55, @trebor89 + + +0.1.14 / 2013-05-12 +------------------- + +- Fixed #62, @maxtaco + + +0.1.13 / 2013-04-08 +------------------- + +- Added `.npmignore` to reduce package size + + +0.1.12 / 2013-02-10 +------------------- + +- Fixed conflictHandler (#46), @hpaulj + + +0.1.11 / 2013-02-07 +------------------- + +- Multiple bugfixes, @hpaulj +- Added 70+ tests (ported from python), @hpaulj +- Added conflictHandler, @applepicke +- Added fromfilePrefixChar, @hpaulj + + +0.1.10 / 2012-12-30 +------------------- + +- Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion) + support, thanks to @hpaulj +- Fixed options check for `storeConst` & `appendConst` actions, thanks to @hpaulj + + +0.1.9 / 2012-12-27 +------------------ + +- Fixed option dest interferens with other options (issue #23), thanks to @hpaulj +- Fixed default value behavior with `*` positionals, thanks to @hpaulj +- Improve `getDefault()` behavior, thanks to @hpaulj +- Imrove negative argument parsing, thanks to @hpaulj + + +0.1.8 / 2012-12-01 +------------------ + +- Fixed parser parents (issue #19), thanks to @hpaulj +- Fixed negative argument parse (issue #20), thanks to @hpaulj + + +0.1.7 / 2012-10-14 +------------------ + +- Fixed 'choices' argument parse (issue #16) +- Fixed stderr output (issue #15) + + +0.1.6 / 2012-09-09 +------------------ + +- Fixed check for conflict of options (thanks to @tomxtobin) + + +0.1.5 / 2012-09-03 +------------------ + +- Fix parser #setDefaults method (thanks to @tomxtobin) + + +0.1.4 / 2012-07-30 +------------------ + +- Fixed pseudo-argument support (thanks to @CGamesPlay) +- Fixed addHelp default (should be true), if not set (thanks to @benblank) + + +0.1.3 / 2012-06-27 +------------------ + +- Fixed formatter api name: Formatter -> HelpFormatter + + +0.1.2 / 2012-05-29 +------------------ + +- Added basic tests +- Removed excess whitespace in help +- Fixed error reporting, when parcer with subcommands + called with empty arguments + + +0.1.1 / 2012-05-23 +------------------ + +- Fixed line wrapping in help formatter +- Added better error reporting on invalid arguments + + +0.1.0 / 2012-05-16 +------------------ + +- First release. diff --git a/node_modules/argparse/LICENSE b/node_modules/argparse/LICENSE new file mode 100644 index 0000000..1afdae5 --- /dev/null +++ b/node_modules/argparse/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (C) 2012 by Vitaly Puzrin + +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/argparse/README.md b/node_modules/argparse/README.md new file mode 100644 index 0000000..7fa6c40 --- /dev/null +++ b/node_modules/argparse/README.md @@ -0,0 +1,257 @@ +argparse +======== + +[![Build Status](https://secure.travis-ci.org/nodeca/argparse.svg?branch=master)](http://travis-ci.org/nodeca/argparse) +[![NPM version](https://img.shields.io/npm/v/argparse.svg)](https://www.npmjs.org/package/argparse) + +CLI arguments parser for node.js. Javascript port of python's +[argparse](http://docs.python.org/dev/library/argparse.html) module +(original version 3.2). That's a full port, except some very rare options, +recorded in issue tracker. + +**NB. Difference with original.** + +- Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/). +- Use `defaultValue` instead of `default`. +- Use `argparse.Const.REMAINDER` instead of `argparse.REMAINDER`, and + similarly for constant values `OPTIONAL`, `ZERO_OR_MORE`, and `ONE_OR_MORE` + (aliases for `nargs` values `'?'`, `'*'`, `'+'`, respectively), and + `SUPPRESS`. + + +Example +======= + +test.js file: + +```javascript +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp:true, + description: 'Argparse example' +}); +parser.addArgument( + [ '-f', '--foo' ], + { + help: 'foo bar' + } +); +parser.addArgument( + [ '-b', '--bar' ], + { + help: 'bar foo' + } +); +parser.addArgument( + '--baz', + { + help: 'baz bar' + } +); +var args = parser.parseArgs(); +console.dir(args); +``` + +Display help: + +``` +$ ./test.js -h +usage: example.js [-h] [-v] [-f FOO] [-b BAR] [--baz BAZ] + +Argparse example + +Optional arguments: + -h, --help Show this help message and exit. + -v, --version Show program's version number and exit. + -f FOO, --foo FOO foo bar + -b BAR, --bar BAR bar foo + --baz BAZ baz bar +``` + +Parse arguments: + +``` +$ ./test.js -f=3 --bar=4 --baz 5 +{ foo: '3', bar: '4', baz: '5' } +``` + +More [examples](https://github.com/nodeca/argparse/tree/master/examples). + + +ArgumentParser objects +====================== + +``` +new ArgumentParser({parameters hash}); +``` + +Creates a new ArgumentParser object. + +**Supported params:** + +- ```description``` - Text to display before the argument help. +- ```epilog``` - Text to display after the argument help. +- ```addHelp``` - Add a -h/–help option to the parser. (default: true) +- ```argumentDefault``` - Set the global default value for arguments. (default: null) +- ```parents``` - A list of ArgumentParser objects whose arguments should also be included. +- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘) +- ```formatterClass``` - A class for customizing the help output. +- ```prog``` - The name of the program (default: `path.basename(process.argv[1])`) +- ```usage``` - The string describing the program usage (default: generated) +- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals. + +**Not supported yet** + +- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read. + + +Details in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects) + + +addArgument() method +==================== + +``` +ArgumentParser.addArgument(name or flag or [name] or [flags...], {options}) +``` + +Defines how a single command-line argument should be parsed. + +- ```name or flag or [name] or [flags...]``` - Either a positional name + (e.g., `'foo'`), a single option (e.g., `'-f'` or `'--foo'`), an array + of a single positional name (e.g., `['foo']`), or an array of options + (e.g., `['-f', '--foo']`). + +Options: + +- ```action``` - The basic type of action to be taken when this argument is encountered at the command line. +- ```nargs```- The number of command-line arguments that should be consumed. +- ```constant``` - A constant value required by some action and nargs selections. +- ```defaultValue``` - The value produced if the argument is absent from the command line. +- ```type``` - The type to which the command-line argument should be converted. +- ```choices``` - A container of the allowable values for the argument. +- ```required``` - Whether or not the command-line option may be omitted (optionals only). +- ```help``` - A brief description of what the argument does. +- ```metavar``` - A name for the argument in usage messages. +- ```dest``` - The name of the attribute to be added to the object returned by parseArgs(). + +Details in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method) + + +Action (some details) +================ + +ArgumentParser objects associate command-line arguments with actions. +These actions can do just about anything with the command-line arguments associated +with them, though most actions simply add an attribute to the object returned by +parseArgs(). The action keyword argument specifies how the command-line arguments +should be handled. The supported actions are: + +- ```store``` - Just stores the argument’s value. This is the default action. +- ```storeConst``` - Stores value, specified by the const keyword argument. + (Note that the const keyword argument defaults to the rather unhelpful None.) + The 'storeConst' action is most commonly used with optional arguments, that + specify some sort of flag. +- ```storeTrue``` and ```storeFalse``` - Stores values True and False + respectively. These are special cases of 'storeConst'. +- ```append``` - Stores a list, and appends each argument value to the list. + This is useful to allow an option to be specified multiple times. +- ```appendConst``` - Stores a list, and appends value, specified by the + const keyword argument to the list. (Note, that the const keyword argument defaults + is None.) The 'appendConst' action is typically used when multiple arguments need + to store constants to the same list. +- ```count``` - Counts the number of times a keyword argument occurs. For example, + used for increasing verbosity levels. +- ```help``` - Prints a complete help message for all the options in the current + parser and then exits. By default a help action is automatically added to the parser. + See ArgumentParser for details of how the output is created. +- ```version``` - Prints version information and exit. Expects a `version=` + keyword argument in the addArgument() call. + +Details in [original action guide](http://docs.python.org/dev/library/argparse.html#action) + + +Sub-commands +============ + +ArgumentParser.addSubparsers() + +Many programs split their functionality into a number of sub-commands, for +example, the svn program can invoke sub-commands like `svn checkout`, `svn update`, +and `svn commit`. Splitting up functionality this way can be a particularly good +idea when a program performs several different functions which require different +kinds of command-line arguments. `ArgumentParser` supports creation of such +sub-commands with `addSubparsers()` method. The `addSubparsers()` method is +normally called with no arguments and returns an special action object. +This object has a single method `addParser()`, which takes a command name and +any `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object +that can be modified as usual. + +Example: + +sub_commands.js +```javascript +#!/usr/bin/env node +'use strict'; + +var ArgumentParser = require('../lib/argparse').ArgumentParser; +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp:true, + description: 'Argparse examples: sub-commands', +}); + +var subparsers = parser.addSubparsers({ + title:'subcommands', + dest:"subcommand_name" +}); + +var bar = subparsers.addParser('c1', {addHelp:true}); +bar.addArgument( + [ '-f', '--foo' ], + { + action: 'store', + help: 'foo3 bar3' + } +); +var bar = subparsers.addParser( + 'c2', + {aliases:['co'], addHelp:true} +); +bar.addArgument( + [ '-b', '--bar' ], + { + action: 'store', + type: 'int', + help: 'foo3 bar3' + } +); + +var args = parser.parseArgs(); +console.dir(args); + +``` + +Details in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands) + + +Contributors +============ + +- [Eugene Shkuropat](https://github.com/shkuropat) +- [Paul Jacobson](https://github.com/hpaulj) + +[others](https://github.com/nodeca/argparse/graphs/contributors) + +License +======= + +Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin). +Released under the MIT license. See +[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details. + + diff --git a/node_modules/argparse/index.js b/node_modules/argparse/index.js new file mode 100644 index 0000000..3bbc143 --- /dev/null +++ b/node_modules/argparse/index.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = require('./lib/argparse'); diff --git a/node_modules/argparse/lib/action.js b/node_modules/argparse/lib/action.js new file mode 100644 index 0000000..1483c79 --- /dev/null +++ b/node_modules/argparse/lib/action.js @@ -0,0 +1,146 @@ +/** + * class Action + * + * Base class for all actions + * Do not call in your code, use this class only for inherits your own action + * + * Information about how to convert command line strings to Javascript objects. + * Action objects are used by an ArgumentParser to represent the information + * needed to parse a single argument from one or more strings from the command + * line. The keyword arguments to the Action constructor are also all attributes + * of Action instances. + * + * ##### Allowed keywords: + * + * - `store` + * - `storeConstant` + * - `storeTrue` + * - `storeFalse` + * - `append` + * - `appendConstant` + * - `count` + * - `help` + * - `version` + * + * Information about action options see [[Action.new]] + * + * See also [original guide](http://docs.python.org/dev/library/argparse.html#action) + * + **/ + +'use strict'; + + +// Constants +var c = require('./const'); + + +/** + * new Action(options) + * + * Base class for all actions. Used only for inherits + * + * + * ##### Options: + * + * - `optionStrings` A list of command-line option strings for the action. + * - `dest` Attribute to hold the created object(s) + * - `nargs` The number of command-line arguments that should be consumed. + * By default, one argument will be consumed and a single value will be + * produced. + * - `constant` Default value for an action with no value. + * - `defaultValue` The value to be produced if the option is not specified. + * - `type` Cast to 'string'|'int'|'float'|'complex'|function (string). If + * None, 'string'. + * - `choices` The choices available. + * - `required` True if the action must always be specified at the command + * line. + * - `help` The help describing the argument. + * - `metavar` The name to be used for the option's argument with the help + * string. If None, the 'dest' value will be used as the name. + * + * ##### nargs supported values: + * + * - `N` (an integer) consumes N arguments (and produces a list) + * - `?` consumes zero or one arguments + * - `*` consumes zero or more arguments (and produces a list) + * - `+` consumes one or more arguments (and produces a list) + * + * Note: that the difference between the default and nargs=1 is that with the + * default, a single value will be produced, while with nargs=1, a list + * containing a single value will be produced. + **/ +var Action = module.exports = function Action(options) { + options = options || {}; + this.optionStrings = options.optionStrings || []; + this.dest = options.dest; + this.nargs = typeof options.nargs !== 'undefined' ? options.nargs : null; + this.constant = typeof options.constant !== 'undefined' ? options.constant : null; + this.defaultValue = options.defaultValue; + this.type = typeof options.type !== 'undefined' ? options.type : null; + this.choices = typeof options.choices !== 'undefined' ? options.choices : null; + this.required = typeof options.required !== 'undefined' ? options.required : false; + this.help = typeof options.help !== 'undefined' ? options.help : null; + this.metavar = typeof options.metavar !== 'undefined' ? options.metavar : null; + + if (!(this.optionStrings instanceof Array)) { + throw new Error('optionStrings should be an array'); + } + if (typeof this.required !== 'undefined' && typeof this.required !== 'boolean') { + throw new Error('required should be a boolean'); + } +}; + +/** + * Action#getName -> String + * + * Tells action name + **/ +Action.prototype.getName = function () { + if (this.optionStrings.length > 0) { + return this.optionStrings.join('/'); + } else if (this.metavar !== null && this.metavar !== c.SUPPRESS) { + return this.metavar; + } else if (typeof this.dest !== 'undefined' && this.dest !== c.SUPPRESS) { + return this.dest; + } + return null; +}; + +/** + * Action#isOptional -> Boolean + * + * Return true if optional + **/ +Action.prototype.isOptional = function () { + return !this.isPositional(); +}; + +/** + * Action#isPositional -> Boolean + * + * Return true if positional + **/ +Action.prototype.isPositional = function () { + return (this.optionStrings.length === 0); +}; + +/** + * Action#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Should be implemented in inherited classes + * + * ##### Example + * + * ActionCount.prototype.call = function (parser, namespace, values, optionString) { + * namespace.set(this.dest, (namespace[this.dest] || 0) + 1); + * }; + * + **/ +Action.prototype.call = function () { + throw new Error('.call() not defined');// Not Implemented error +}; diff --git a/node_modules/argparse/lib/action/append.js b/node_modules/argparse/lib/action/append.js new file mode 100644 index 0000000..b5da0de --- /dev/null +++ b/node_modules/argparse/lib/action/append.js @@ -0,0 +1,53 @@ +/*:nodoc:* + * class ActionAppend + * + * This action stores a list, and appends each argument value to the list. + * This is useful to allow an option to be specified multiple times. + * This class inherided from [[Action]] + * + **/ + +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var c = require('../const'); + +/*:nodoc:* + * new ActionAppend(options) + * - options (object): options hash see [[Action.new]] + * + * Note: options.nargs should be optional for constants + * and more then zero for other + **/ +var ActionAppend = module.exports = function ActionAppend(options) { + options = options || {}; + if (this.nargs <= 0) { + throw new Error('nargs for append actions must be > 0; if arg ' + + 'strings are not supplying the value to append, ' + + 'the append const action may be more appropriate'); + } + if (!!this.constant && this.nargs !== c.OPTIONAL) { + throw new Error('nargs must be OPTIONAL to supply const'); + } + Action.call(this, options); +}; +util.inherits(ActionAppend, Action); + +/*:nodoc:* + * ActionAppend#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionAppend.prototype.call = function (parser, namespace, values) { + var items = (namespace[this.dest] || []).slice(); + items.push(values); + namespace.set(this.dest, items); +}; diff --git a/node_modules/argparse/lib/action/append/constant.js b/node_modules/argparse/lib/action/append/constant.js new file mode 100644 index 0000000..313f5d2 --- /dev/null +++ b/node_modules/argparse/lib/action/append/constant.js @@ -0,0 +1,47 @@ +/*:nodoc:* + * class ActionAppendConstant + * + * This stores a list, and appends the value specified by + * the const keyword argument to the list. + * (Note that the const keyword argument defaults to null.) + * The 'appendConst' action is typically useful when multiple + * arguments need to store constants to the same list. + * + * This class inherited from [[Action]] + **/ + +'use strict'; + +var util = require('util'); + +var Action = require('../../action'); + +/*:nodoc:* + * new ActionAppendConstant(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionAppendConstant = module.exports = function ActionAppendConstant(options) { + options = options || {}; + options.nargs = 0; + if (typeof options.constant === 'undefined') { + throw new Error('constant option is required for appendAction'); + } + Action.call(this, options); +}; +util.inherits(ActionAppendConstant, Action); + +/*:nodoc:* + * ActionAppendConstant#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionAppendConstant.prototype.call = function (parser, namespace) { + var items = [].concat(namespace[this.dest] || []); + items.push(this.constant); + namespace.set(this.dest, items); +}; diff --git a/node_modules/argparse/lib/action/count.js b/node_modules/argparse/lib/action/count.js new file mode 100644 index 0000000..d6a5899 --- /dev/null +++ b/node_modules/argparse/lib/action/count.js @@ -0,0 +1,40 @@ +/*:nodoc:* + * class ActionCount + * + * This counts the number of times a keyword argument occurs. + * For example, this is useful for increasing verbosity levels + * + * This class inherided from [[Action]] + * + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +/*:nodoc:* + * new ActionCount(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionCount = module.exports = function ActionCount(options) { + options = options || {}; + options.nargs = 0; + + Action.call(this, options); +}; +util.inherits(ActionCount, Action); + +/*:nodoc:* + * ActionCount#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionCount.prototype.call = function (parser, namespace) { + namespace.set(this.dest, (namespace[this.dest] || 0) + 1); +}; diff --git a/node_modules/argparse/lib/action/help.js b/node_modules/argparse/lib/action/help.js new file mode 100644 index 0000000..b40e05a --- /dev/null +++ b/node_modules/argparse/lib/action/help.js @@ -0,0 +1,47 @@ +/*:nodoc:* + * class ActionHelp + * + * Support action for printing help + * This class inherided from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var c = require('../const'); + +/*:nodoc:* + * new ActionHelp(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionHelp = module.exports = function ActionHelp(options) { + options = options || {}; + if (options.defaultValue !== null) { + options.defaultValue = options.defaultValue; + } else { + options.defaultValue = c.SUPPRESS; + } + options.dest = (options.dest !== null ? options.dest : c.SUPPRESS); + options.nargs = 0; + Action.call(this, options); + +}; +util.inherits(ActionHelp, Action); + +/*:nodoc:* + * ActionHelp#call(parser, namespace, values, optionString) + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Print help and exit + **/ +ActionHelp.prototype.call = function (parser) { + parser.printHelp(); + parser.exit(); +}; diff --git a/node_modules/argparse/lib/action/store.js b/node_modules/argparse/lib/action/store.js new file mode 100644 index 0000000..283b860 --- /dev/null +++ b/node_modules/argparse/lib/action/store.js @@ -0,0 +1,50 @@ +/*:nodoc:* + * class ActionStore + * + * This action just stores the argument’s value. This is the default action. + * + * This class inherited from [[Action]] + * + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// Constants +var c = require('../const'); + + +/*:nodoc:* + * new ActionStore(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStore = module.exports = function ActionStore(options) { + options = options || {}; + if (this.nargs <= 0) { + throw new Error('nargs for store actions must be > 0; if you ' + + 'have nothing to store, actions such as store ' + + 'true or store const may be more appropriate'); + + } + if (typeof this.constant !== 'undefined' && this.nargs !== c.OPTIONAL) { + throw new Error('nargs must be OPTIONAL to supply const'); + } + Action.call(this, options); +}; +util.inherits(ActionStore, Action); + +/*:nodoc:* + * ActionStore#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionStore.prototype.call = function (parser, namespace, values) { + namespace.set(this.dest, values); +}; diff --git a/node_modules/argparse/lib/action/store/constant.js b/node_modules/argparse/lib/action/store/constant.js new file mode 100644 index 0000000..23caa89 --- /dev/null +++ b/node_modules/argparse/lib/action/store/constant.js @@ -0,0 +1,43 @@ +/*:nodoc:* + * class ActionStoreConstant + * + * This action stores the value specified by the const keyword argument. + * (Note that the const keyword argument defaults to the rather unhelpful null.) + * The 'store_const' action is most commonly used with optional + * arguments that specify some sort of flag. + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../../action'); + +/*:nodoc:* + * new ActionStoreConstant(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStoreConstant = module.exports = function ActionStoreConstant(options) { + options = options || {}; + options.nargs = 0; + if (typeof options.constant === 'undefined') { + throw new Error('constant option is required for storeAction'); + } + Action.call(this, options); +}; +util.inherits(ActionStoreConstant, Action); + +/*:nodoc:* + * ActionStoreConstant#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Save result in namespace object + **/ +ActionStoreConstant.prototype.call = function (parser, namespace) { + namespace.set(this.dest, this.constant); +}; diff --git a/node_modules/argparse/lib/action/store/false.js b/node_modules/argparse/lib/action/store/false.js new file mode 100644 index 0000000..9924f46 --- /dev/null +++ b/node_modules/argparse/lib/action/store/false.js @@ -0,0 +1,27 @@ +/*:nodoc:* + * class ActionStoreFalse + * + * This action store the values False respectively. + * This is special cases of 'storeConst' + * + * This class inherited from [[Action]] + **/ + +'use strict'; + +var util = require('util'); + +var ActionStoreConstant = require('./constant'); + +/*:nodoc:* + * new ActionStoreFalse(options) + * - options (object): hash of options see [[Action.new]] + * + **/ +var ActionStoreFalse = module.exports = function ActionStoreFalse(options) { + options = options || {}; + options.constant = false; + options.defaultValue = options.defaultValue !== null ? options.defaultValue : true; + ActionStoreConstant.call(this, options); +}; +util.inherits(ActionStoreFalse, ActionStoreConstant); diff --git a/node_modules/argparse/lib/action/store/true.js b/node_modules/argparse/lib/action/store/true.js new file mode 100644 index 0000000..9e22f7d --- /dev/null +++ b/node_modules/argparse/lib/action/store/true.js @@ -0,0 +1,26 @@ +/*:nodoc:* + * class ActionStoreTrue + * + * This action store the values True respectively. + * This isspecial cases of 'storeConst' + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var ActionStoreConstant = require('./constant'); + +/*:nodoc:* + * new ActionStoreTrue(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionStoreTrue = module.exports = function ActionStoreTrue(options) { + options = options || {}; + options.constant = true; + options.defaultValue = options.defaultValue !== null ? options.defaultValue : false; + ActionStoreConstant.call(this, options); +}; +util.inherits(ActionStoreTrue, ActionStoreConstant); diff --git a/node_modules/argparse/lib/action/subparsers.js b/node_modules/argparse/lib/action/subparsers.js new file mode 100644 index 0000000..99dfedd --- /dev/null +++ b/node_modules/argparse/lib/action/subparsers.js @@ -0,0 +1,149 @@ +/** internal + * class ActionSubparsers + * + * Support the creation of such sub-commands with the addSubparsers() + * + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); +var format = require('util').format; + + +var Action = require('../action'); + +// Constants +var c = require('../const'); + +// Errors +var argumentErrorHelper = require('../argument/error'); + + +/*:nodoc:* + * new ChoicesPseudoAction(name, help) + * + * Create pseudo action for correct help text + * + **/ +function ChoicesPseudoAction(name, help) { + var options = { + optionStrings: [], + dest: name, + help: help + }; + + Action.call(this, options); +} + +util.inherits(ChoicesPseudoAction, Action); + +/** + * new ActionSubparsers(options) + * - options (object): options hash see [[Action.new]] + * + **/ +function ActionSubparsers(options) { + options = options || {}; + options.dest = options.dest || c.SUPPRESS; + options.nargs = c.PARSER; + + this.debug = (options.debug === true); + + this._progPrefix = options.prog; + this._parserClass = options.parserClass; + this._nameParserMap = {}; + this._choicesActions = []; + + options.choices = this._nameParserMap; + Action.call(this, options); +} + +util.inherits(ActionSubparsers, Action); + +/*:nodoc:* + * ActionSubparsers#addParser(name, options) -> ArgumentParser + * - name (string): sub-command name + * - options (object): see [[ArgumentParser.new]] + * + * Note: + * addParser supports an additional aliases option, + * which allows multiple strings to refer to the same subparser. + * This example, like svn, aliases co as a shorthand for checkout + * + **/ +ActionSubparsers.prototype.addParser = function (name, options) { + var parser; + + var self = this; + + options = options || {}; + + options.debug = (this.debug === true); + + // set program from the existing prefix + if (!options.prog) { + options.prog = this._progPrefix + ' ' + name; + } + + var aliases = options.aliases || []; + + // create a pseudo-action to hold the choice help + if (!!options.help || typeof options.help === 'string') { + var help = options.help; + delete options.help; + + var choiceAction = new ChoicesPseudoAction(name, help); + this._choicesActions.push(choiceAction); + } + + // create the parser and add it to the map + parser = new this._parserClass(options); + this._nameParserMap[name] = parser; + + // make parser available under aliases also + aliases.forEach(function (alias) { + self._nameParserMap[alias] = parser; + }); + + return parser; +}; + +ActionSubparsers.prototype._getSubactions = function () { + return this._choicesActions; +}; + +/*:nodoc:* + * ActionSubparsers#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Call the action. Parse input aguments + **/ +ActionSubparsers.prototype.call = function (parser, namespace, values) { + var parserName = values[0]; + var argStrings = values.slice(1); + + // set the parser name if requested + if (this.dest !== c.SUPPRESS) { + namespace[this.dest] = parserName; + } + + // select the parser + if (this._nameParserMap[parserName]) { + parser = this._nameParserMap[parserName]; + } else { + throw argumentErrorHelper(format( + 'Unknown parser "%s" (choices: [%s]).', + parserName, + Object.keys(this._nameParserMap).join(', ') + )); + } + + // parse all the remaining options into the namespace + parser.parseArgs(argStrings, namespace); +}; + +module.exports = ActionSubparsers; diff --git a/node_modules/argparse/lib/action/version.js b/node_modules/argparse/lib/action/version.js new file mode 100644 index 0000000..8053328 --- /dev/null +++ b/node_modules/argparse/lib/action/version.js @@ -0,0 +1,47 @@ +/*:nodoc:* + * class ActionVersion + * + * Support action for printing program version + * This class inherited from [[Action]] + **/ +'use strict'; + +var util = require('util'); + +var Action = require('../action'); + +// +// Constants +// +var c = require('../const'); + +/*:nodoc:* + * new ActionVersion(options) + * - options (object): options hash see [[Action.new]] + * + **/ +var ActionVersion = module.exports = function ActionVersion(options) { + options = options || {}; + options.defaultValue = (options.defaultValue ? options.defaultValue : c.SUPPRESS); + options.dest = (options.dest || c.SUPPRESS); + options.nargs = 0; + this.version = options.version; + Action.call(this, options); +}; +util.inherits(ActionVersion, Action); + +/*:nodoc:* + * ActionVersion#call(parser, namespace, values, optionString) -> Void + * - parser (ArgumentParser): current parser + * - namespace (Namespace): namespace for output data + * - values (Array): parsed values + * - optionString (Array): input option string(not parsed) + * + * Print version and exit + **/ +ActionVersion.prototype.call = function (parser) { + var version = this.version || parser.version; + var formatter = parser._getFormatter(); + formatter.addText(version); + parser.exit(0, formatter.formatHelp()); +}; diff --git a/node_modules/argparse/lib/action_container.js b/node_modules/argparse/lib/action_container.js new file mode 100644 index 0000000..6f1237b --- /dev/null +++ b/node_modules/argparse/lib/action_container.js @@ -0,0 +1,482 @@ +/** internal + * class ActionContainer + * + * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] + **/ + +'use strict'; + +var format = require('util').format; + +// Constants +var c = require('./const'); + +var $$ = require('./utils'); + +//Actions +var ActionHelp = require('./action/help'); +var ActionAppend = require('./action/append'); +var ActionAppendConstant = require('./action/append/constant'); +var ActionCount = require('./action/count'); +var ActionStore = require('./action/store'); +var ActionStoreConstant = require('./action/store/constant'); +var ActionStoreTrue = require('./action/store/true'); +var ActionStoreFalse = require('./action/store/false'); +var ActionVersion = require('./action/version'); +var ActionSubparsers = require('./action/subparsers'); + +// Errors +var argumentErrorHelper = require('./argument/error'); + +/** + * new ActionContainer(options) + * + * Action container. Parent for [[ArgumentParser]] and [[ArgumentGroup]] + * + * ##### Options: + * + * - `description` -- A description of what the program does + * - `prefixChars` -- Characters that prefix optional arguments + * - `argumentDefault` -- The default value for all arguments + * - `conflictHandler` -- The conflict handler to use for duplicate arguments + **/ +var ActionContainer = module.exports = function ActionContainer(options) { + options = options || {}; + + this.description = options.description; + this.argumentDefault = options.argumentDefault; + this.prefixChars = options.prefixChars || ''; + this.conflictHandler = options.conflictHandler; + + // set up registries + this._registries = {}; + + // register actions + this.register('action', null, ActionStore); + this.register('action', 'store', ActionStore); + this.register('action', 'storeConst', ActionStoreConstant); + this.register('action', 'storeTrue', ActionStoreTrue); + this.register('action', 'storeFalse', ActionStoreFalse); + this.register('action', 'append', ActionAppend); + this.register('action', 'appendConst', ActionAppendConstant); + this.register('action', 'count', ActionCount); + this.register('action', 'help', ActionHelp); + this.register('action', 'version', ActionVersion); + this.register('action', 'parsers', ActionSubparsers); + + // raise an exception if the conflict handler is invalid + this._getHandler(); + + // action storage + this._actions = []; + this._optionStringActions = {}; + + // groups + this._actionGroups = []; + this._mutuallyExclusiveGroups = []; + + // defaults storage + this._defaults = {}; + + // determines whether an "option" looks like a negative number + // -1, -1.5 -5e+4 + this._regexpNegativeNumber = new RegExp('^[-]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?$'); + + // whether or not there are any optionals that look like negative + // numbers -- uses a list so it can be shared and edited + this._hasNegativeNumberOptionals = []; +}; + +// Groups must be required, then ActionContainer already defined +var ArgumentGroup = require('./argument/group'); +var MutuallyExclusiveGroup = require('./argument/exclusive'); + +// +// Registration methods +// + +/** + * ActionContainer#register(registryName, value, object) -> Void + * - registryName (String) : object type action|type + * - value (string) : keyword + * - object (Object|Function) : handler + * + * Register handlers + **/ +ActionContainer.prototype.register = function (registryName, value, object) { + this._registries[registryName] = this._registries[registryName] || {}; + this._registries[registryName][value] = object; +}; + +ActionContainer.prototype._registryGet = function (registryName, value, defaultValue) { + if (arguments.length < 3) { + defaultValue = null; + } + return this._registries[registryName][value] || defaultValue; +}; + +// +// Namespace default accessor methods +// + +/** + * ActionContainer#setDefaults(options) -> Void + * - options (object):hash of options see [[Action.new]] + * + * Set defaults + **/ +ActionContainer.prototype.setDefaults = function (options) { + options = options || {}; + for (var property in options) { + if ($$.has(options, property)) { + this._defaults[property] = options[property]; + } + } + + // if these defaults match any existing arguments, replace the previous + // default on the object with the new one + this._actions.forEach(function (action) { + if ($$.has(options, action.dest)) { + action.defaultValue = options[action.dest]; + } + }); +}; + +/** + * ActionContainer#getDefault(dest) -> Mixed + * - dest (string): action destination + * + * Return action default value + **/ +ActionContainer.prototype.getDefault = function (dest) { + var result = $$.has(this._defaults, dest) ? this._defaults[dest] : null; + + this._actions.forEach(function (action) { + if (action.dest === dest && $$.has(action, 'defaultValue')) { + result = action.defaultValue; + } + }); + + return result; +}; +// +// Adding argument actions +// + +/** + * ActionContainer#addArgument(args, options) -> Object + * - args (String|Array): argument key, or array of argument keys + * - options (Object): action objects see [[Action.new]] + * + * #### Examples + * - addArgument([ '-f', '--foo' ], { action: 'store', defaultValue: 1, ... }) + * - addArgument([ 'bar' ], { action: 'store', nargs: 1, ... }) + * - addArgument('--baz', { action: 'store', nargs: 1, ... }) + **/ +ActionContainer.prototype.addArgument = function (args, options) { + args = args; + options = options || {}; + + if (typeof args === 'string') { + args = [ args ]; + } + if (!Array.isArray(args)) { + throw new TypeError('addArgument first argument should be a string or an array'); + } + if (typeof options !== 'object' || Array.isArray(options)) { + throw new TypeError('addArgument second argument should be a hash'); + } + + // if no positional args are supplied or only one is supplied and + // it doesn't look like an option string, parse a positional argument + if (!args || args.length === 1 && this.prefixChars.indexOf(args[0][0]) < 0) { + if (args && !!options.dest) { + throw new Error('dest supplied twice for positional argument'); + } + options = this._getPositional(args, options); + + // otherwise, we're adding an optional argument + } else { + options = this._getOptional(args, options); + } + + // if no default was supplied, use the parser-level default + if (typeof options.defaultValue === 'undefined') { + var dest = options.dest; + if ($$.has(this._defaults, dest)) { + options.defaultValue = this._defaults[dest]; + } else if (typeof this.argumentDefault !== 'undefined') { + options.defaultValue = this.argumentDefault; + } + } + + // create the action object, and add it to the parser + var ActionClass = this._popActionClass(options); + if (typeof ActionClass !== 'function') { + throw new Error(format('Unknown action "%s".', ActionClass)); + } + var action = new ActionClass(options); + + // throw an error if the action type is not callable + var typeFunction = this._registryGet('type', action.type, action.type); + if (typeof typeFunction !== 'function') { + throw new Error(format('"%s" is not callable', typeFunction)); + } + + return this._addAction(action); +}; + +/** + * ActionContainer#addArgumentGroup(options) -> ArgumentGroup + * - options (Object): hash of options see [[ArgumentGroup.new]] + * + * Create new arguments groups + **/ +ActionContainer.prototype.addArgumentGroup = function (options) { + var group = new ArgumentGroup(this, options); + this._actionGroups.push(group); + return group; +}; + +/** + * ActionContainer#addMutuallyExclusiveGroup(options) -> ArgumentGroup + * - options (Object): {required: false} + * + * Create new mutual exclusive groups + **/ +ActionContainer.prototype.addMutuallyExclusiveGroup = function (options) { + var group = new MutuallyExclusiveGroup(this, options); + this._mutuallyExclusiveGroups.push(group); + return group; +}; + +ActionContainer.prototype._addAction = function (action) { + var self = this; + + // resolve any conflicts + this._checkConflict(action); + + // add to actions list + this._actions.push(action); + action.container = this; + + // index the action by any option strings it has + action.optionStrings.forEach(function (optionString) { + self._optionStringActions[optionString] = action; + }); + + // set the flag if any option strings look like negative numbers + action.optionStrings.forEach(function (optionString) { + if (optionString.match(self._regexpNegativeNumber)) { + if (!self._hasNegativeNumberOptionals.some(Boolean)) { + self._hasNegativeNumberOptionals.push(true); + } + } + }); + + // return the created action + return action; +}; + +ActionContainer.prototype._removeAction = function (action) { + var actionIndex = this._actions.indexOf(action); + if (actionIndex >= 0) { + this._actions.splice(actionIndex, 1); + } +}; + +ActionContainer.prototype._addContainerActions = function (container) { + // collect groups by titles + var titleGroupMap = {}; + this._actionGroups.forEach(function (group) { + if (titleGroupMap[group.title]) { + throw new Error(format('Cannot merge actions - two groups are named "%s".', group.title)); + } + titleGroupMap[group.title] = group; + }); + + // map each action to its group + var groupMap = {}; + function actionHash(action) { + // unique (hopefully?) string suitable as dictionary key + return action.getName(); + } + container._actionGroups.forEach(function (group) { + // if a group with the title exists, use that, otherwise + // create a new group matching the container's group + if (!titleGroupMap[group.title]) { + titleGroupMap[group.title] = this.addArgumentGroup({ + title: group.title, + description: group.description + }); + } + + // map the actions to their new group + group._groupActions.forEach(function (action) { + groupMap[actionHash(action)] = titleGroupMap[group.title]; + }); + }, this); + + // add container's mutually exclusive groups + // NOTE: if add_mutually_exclusive_group ever gains title= and + // description= then this code will need to be expanded as above + var mutexGroup; + container._mutuallyExclusiveGroups.forEach(function (group) { + mutexGroup = this.addMutuallyExclusiveGroup({ + required: group.required + }); + // map the actions to their new mutex group + group._groupActions.forEach(function (action) { + groupMap[actionHash(action)] = mutexGroup; + }); + }, this); // forEach takes a 'this' argument + + // add all actions to this container or their group + container._actions.forEach(function (action) { + var key = actionHash(action); + if (groupMap[key]) { + groupMap[key]._addAction(action); + } else { + this._addAction(action); + } + }); +}; + +ActionContainer.prototype._getPositional = function (dest, options) { + if (Array.isArray(dest)) { + dest = dest[0]; + } + // make sure required is not specified + if (options.required) { + throw new Error('"required" is an invalid argument for positionals.'); + } + + // mark positional arguments as required if at least one is + // always required + if (options.nargs !== c.OPTIONAL && options.nargs !== c.ZERO_OR_MORE) { + options.required = true; + } + if (options.nargs === c.ZERO_OR_MORE && typeof options.defaultValue === 'undefined') { + options.required = true; + } + + // return the keyword arguments with no option strings + options.dest = dest; + options.optionStrings = []; + return options; +}; + +ActionContainer.prototype._getOptional = function (args, options) { + var prefixChars = this.prefixChars; + var optionStrings = []; + var optionStringsLong = []; + + // determine short and long option strings + args.forEach(function (optionString) { + // error on strings that don't start with an appropriate prefix + if (prefixChars.indexOf(optionString[0]) < 0) { + throw new Error(format('Invalid option string "%s": must start with a "%s".', + optionString, + prefixChars + )); + } + + // strings starting with two prefix characters are long options + optionStrings.push(optionString); + if (optionString.length > 1 && prefixChars.indexOf(optionString[1]) >= 0) { + optionStringsLong.push(optionString); + } + }); + + // infer dest, '--foo-bar' -> 'foo_bar' and '-x' -> 'x' + var dest = options.dest || null; + delete options.dest; + + if (!dest) { + var optionStringDest = optionStringsLong.length ? optionStringsLong[0] : optionStrings[0]; + dest = $$.trimChars(optionStringDest, this.prefixChars); + + if (dest.length === 0) { + throw new Error( + format('dest= is required for options like "%s"', optionStrings.join(', ')) + ); + } + dest = dest.replace(/-/g, '_'); + } + + // return the updated keyword arguments + options.dest = dest; + options.optionStrings = optionStrings; + + return options; +}; + +ActionContainer.prototype._popActionClass = function (options, defaultValue) { + defaultValue = defaultValue || null; + + var action = (options.action || defaultValue); + delete options.action; + + var actionClass = this._registryGet('action', action, action); + return actionClass; +}; + +ActionContainer.prototype._getHandler = function () { + var handlerString = this.conflictHandler; + var handlerFuncName = '_handleConflict' + $$.capitalize(handlerString); + var func = this[handlerFuncName]; + if (typeof func === 'undefined') { + var msg = 'invalid conflict resolution value: ' + handlerString; + throw new Error(msg); + } else { + return func; + } +}; + +ActionContainer.prototype._checkConflict = function (action) { + var optionStringActions = this._optionStringActions; + var conflictOptionals = []; + + // find all options that conflict with this option + // collect pairs, the string, and an existing action that it conflicts with + action.optionStrings.forEach(function (optionString) { + var conflOptional = optionStringActions[optionString]; + if (typeof conflOptional !== 'undefined') { + conflictOptionals.push([ optionString, conflOptional ]); + } + }); + + if (conflictOptionals.length > 0) { + var conflictHandler = this._getHandler(); + conflictHandler.call(this, action, conflictOptionals); + } +}; + +ActionContainer.prototype._handleConflictError = function (action, conflOptionals) { + var conflicts = conflOptionals.map(function (pair) { return pair[0]; }); + conflicts = conflicts.join(', '); + throw argumentErrorHelper( + action, + format('Conflicting option string(s): %s', conflicts) + ); +}; + +ActionContainer.prototype._handleConflictResolve = function (action, conflOptionals) { + // remove all conflicting options + var self = this; + conflOptionals.forEach(function (pair) { + var optionString = pair[0]; + var conflictingAction = pair[1]; + // remove the conflicting option string + var i = conflictingAction.optionStrings.indexOf(optionString); + if (i >= 0) { + conflictingAction.optionStrings.splice(i, 1); + } + delete self._optionStringActions[optionString]; + // if the option now has no option string, remove it from the + // container holding it + if (conflictingAction.optionStrings.length === 0) { + conflictingAction.container._removeAction(conflictingAction); + } + }); +}; diff --git a/node_modules/argparse/lib/argparse.js b/node_modules/argparse/lib/argparse.js new file mode 100644 index 0000000..f2a2c51 --- /dev/null +++ b/node_modules/argparse/lib/argparse.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports.ArgumentParser = require('./argument_parser.js'); +module.exports.Namespace = require('./namespace'); +module.exports.Action = require('./action'); +module.exports.HelpFormatter = require('./help/formatter.js'); +module.exports.Const = require('./const.js'); + +module.exports.ArgumentDefaultsHelpFormatter = + require('./help/added_formatters.js').ArgumentDefaultsHelpFormatter; +module.exports.RawDescriptionHelpFormatter = + require('./help/added_formatters.js').RawDescriptionHelpFormatter; +module.exports.RawTextHelpFormatter = + require('./help/added_formatters.js').RawTextHelpFormatter; diff --git a/node_modules/argparse/lib/argument/error.js b/node_modules/argparse/lib/argument/error.js new file mode 100644 index 0000000..c8a02a0 --- /dev/null +++ b/node_modules/argparse/lib/argument/error.js @@ -0,0 +1,50 @@ +'use strict'; + + +var format = require('util').format; + + +var ERR_CODE = 'ARGError'; + +/*:nodoc:* + * argumentError(argument, message) -> TypeError + * - argument (Object): action with broken argument + * - message (String): error message + * + * Error format helper. An error from creating or using an argument + * (optional or positional). The string value of this exception + * is the message, augmented with information + * about the argument that caused it. + * + * #####Example + * + * var argumentErrorHelper = require('./argument/error'); + * if (conflictOptionals.length > 0) { + * throw argumentErrorHelper( + * action, + * format('Conflicting option string(s): %s', conflictOptionals.join(', ')) + * ); + * } + * + **/ +module.exports = function (argument, message) { + var argumentName = null; + var errMessage; + var err; + + if (argument.getName) { + argumentName = argument.getName(); + } else { + argumentName = '' + argument; + } + + if (!argumentName) { + errMessage = message; + } else { + errMessage = format('argument "%s": %s', argumentName, message); + } + + err = new TypeError(errMessage); + err.code = ERR_CODE; + return err; +}; diff --git a/node_modules/argparse/lib/argument/exclusive.js b/node_modules/argparse/lib/argument/exclusive.js new file mode 100644 index 0000000..8287e00 --- /dev/null +++ b/node_modules/argparse/lib/argument/exclusive.js @@ -0,0 +1,54 @@ +/** internal + * class MutuallyExclusiveGroup + * + * Group arguments. + * By default, ArgumentParser groups command-line arguments + * into “positional arguments” and “optional arguments” + * when displaying help messages. When there is a better + * conceptual grouping of arguments than this default one, + * appropriate groups can be created using the addArgumentGroup() method + * + * This class inherited from [[ArgumentContainer]] + **/ +'use strict'; + +var util = require('util'); + +var ArgumentGroup = require('./group'); + +/** + * new MutuallyExclusiveGroup(container, options) + * - container (object): main container + * - options (object): options.required -> true/false + * + * `required` could be an argument itself, but making it a property of + * the options argument is more consistent with the JS adaptation of the Python) + **/ +var MutuallyExclusiveGroup = module.exports = function MutuallyExclusiveGroup(container, options) { + var required; + options = options || {}; + required = options.required || false; + ArgumentGroup.call(this, container); + this.required = required; + +}; +util.inherits(MutuallyExclusiveGroup, ArgumentGroup); + + +MutuallyExclusiveGroup.prototype._addAction = function (action) { + var msg; + if (action.required) { + msg = 'mutually exclusive arguments must be optional'; + throw new Error(msg); + } + action = this._container._addAction(action); + this._groupActions.push(action); + return action; +}; + + +MutuallyExclusiveGroup.prototype._removeAction = function (action) { + this._container._removeAction(action); + this._groupActions.remove(action); +}; + diff --git a/node_modules/argparse/lib/argument/group.js b/node_modules/argparse/lib/argument/group.js new file mode 100644 index 0000000..58b271f --- /dev/null +++ b/node_modules/argparse/lib/argument/group.js @@ -0,0 +1,75 @@ +/** internal + * class ArgumentGroup + * + * Group arguments. + * By default, ArgumentParser groups command-line arguments + * into “positional arguments” and “optional arguments” + * when displaying help messages. When there is a better + * conceptual grouping of arguments than this default one, + * appropriate groups can be created using the addArgumentGroup() method + * + * This class inherited from [[ArgumentContainer]] + **/ +'use strict'; + +var util = require('util'); + +var ActionContainer = require('../action_container'); + + +/** + * new ArgumentGroup(container, options) + * - container (object): main container + * - options (object): hash of group options + * + * #### options + * - **prefixChars** group name prefix + * - **argumentDefault** default argument value + * - **title** group title + * - **description** group description + * + **/ +var ArgumentGroup = module.exports = function ArgumentGroup(container, options) { + + options = options || {}; + + // add any missing keyword arguments by checking the container + options.conflictHandler = (options.conflictHandler || container.conflictHandler); + options.prefixChars = (options.prefixChars || container.prefixChars); + options.argumentDefault = (options.argumentDefault || container.argumentDefault); + + ActionContainer.call(this, options); + + // group attributes + this.title = options.title; + this._groupActions = []; + + // share most attributes with the container + this._container = container; + this._registries = container._registries; + this._actions = container._actions; + this._optionStringActions = container._optionStringActions; + this._defaults = container._defaults; + this._hasNegativeNumberOptionals = container._hasNegativeNumberOptionals; + this._mutuallyExclusiveGroups = container._mutuallyExclusiveGroups; +}; +util.inherits(ArgumentGroup, ActionContainer); + + +ArgumentGroup.prototype._addAction = function (action) { + // Parent add action + action = ActionContainer.prototype._addAction.call(this, action); + this._groupActions.push(action); + return action; +}; + + +ArgumentGroup.prototype._removeAction = function (action) { + // Parent remove action + ActionContainer.prototype._removeAction.call(this, action); + var actionIndex = this._groupActions.indexOf(action); + if (actionIndex >= 0) { + this._groupActions.splice(actionIndex, 1); + } +}; + diff --git a/node_modules/argparse/lib/argument_parser.js b/node_modules/argparse/lib/argument_parser.js new file mode 100644 index 0000000..bd9a59a --- /dev/null +++ b/node_modules/argparse/lib/argument_parser.js @@ -0,0 +1,1161 @@ +/** + * class ArgumentParser + * + * Object for parsing command line strings into js objects. + * + * Inherited from [[ActionContainer]] + **/ +'use strict'; + +var util = require('util'); +var format = require('util').format; +var Path = require('path'); +var sprintf = require('sprintf-js').sprintf; + +// Constants +var c = require('./const'); + +var $$ = require('./utils'); + +var ActionContainer = require('./action_container'); + +// Errors +var argumentErrorHelper = require('./argument/error'); + +var HelpFormatter = require('./help/formatter'); + +var Namespace = require('./namespace'); + + +/** + * new ArgumentParser(options) + * + * Create a new ArgumentParser object. + * + * ##### Options: + * - `prog` The name of the program (default: Path.basename(process.argv[1])) + * - `usage` A usage message (default: auto-generated from arguments) + * - `description` A description of what the program does + * - `epilog` Text following the argument descriptions + * - `parents` Parsers whose arguments should be copied into this one + * - `formatterClass` HelpFormatter class for printing help messages + * - `prefixChars` Characters that prefix optional arguments + * - `fromfilePrefixChars` Characters that prefix files containing additional arguments + * - `argumentDefault` The default value for all arguments + * - `addHelp` Add a -h/-help option + * - `conflictHandler` Specifies how to handle conflicting argument names + * - `debug` Enable debug mode. Argument errors throw exception in + * debug mode and process.exit in normal. Used for development and + * testing (default: false) + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#argumentparser-objects + **/ +function ArgumentParser(options) { + if (!(this instanceof ArgumentParser)) { + return new ArgumentParser(options); + } + var self = this; + options = options || {}; + + options.description = (options.description || null); + options.argumentDefault = (options.argumentDefault || null); + options.prefixChars = (options.prefixChars || '-'); + options.conflictHandler = (options.conflictHandler || 'error'); + ActionContainer.call(this, options); + + options.addHelp = typeof options.addHelp === 'undefined' || !!options.addHelp; + options.parents = options.parents || []; + // default program name + options.prog = (options.prog || Path.basename(process.argv[1])); + this.prog = options.prog; + this.usage = options.usage; + this.epilog = options.epilog; + this.version = options.version; + + this.debug = (options.debug === true); + + this.formatterClass = (options.formatterClass || HelpFormatter); + this.fromfilePrefixChars = options.fromfilePrefixChars || null; + this._positionals = this.addArgumentGroup({ title: 'Positional arguments' }); + this._optionals = this.addArgumentGroup({ title: 'Optional arguments' }); + this._subparsers = null; + + // register types + function FUNCTION_IDENTITY(o) { + return o; + } + this.register('type', 'auto', FUNCTION_IDENTITY); + this.register('type', null, FUNCTION_IDENTITY); + this.register('type', 'int', function (x) { + var result = parseInt(x, 10); + if (isNaN(result)) { + throw new Error(x + ' is not a valid integer.'); + } + return result; + }); + this.register('type', 'float', function (x) { + var result = parseFloat(x); + if (isNaN(result)) { + throw new Error(x + ' is not a valid float.'); + } + return result; + }); + this.register('type', 'string', function (x) { + return '' + x; + }); + + // add help and version arguments if necessary + var defaultPrefix = (this.prefixChars.indexOf('-') > -1) ? '-' : this.prefixChars[0]; + if (options.addHelp) { + this.addArgument( + [ defaultPrefix + 'h', defaultPrefix + defaultPrefix + 'help' ], + { + action: 'help', + defaultValue: c.SUPPRESS, + help: 'Show this help message and exit.' + } + ); + } + if (typeof this.version !== 'undefined') { + this.addArgument( + [ defaultPrefix + 'v', defaultPrefix + defaultPrefix + 'version' ], + { + action: 'version', + version: this.version, + defaultValue: c.SUPPRESS, + help: "Show program's version number and exit." + } + ); + } + + // add parent arguments and defaults + options.parents.forEach(function (parent) { + self._addContainerActions(parent); + if (typeof parent._defaults !== 'undefined') { + for (var defaultKey in parent._defaults) { + if (parent._defaults.hasOwnProperty(defaultKey)) { + self._defaults[defaultKey] = parent._defaults[defaultKey]; + } + } + } + }); +} + +util.inherits(ArgumentParser, ActionContainer); + +/** + * ArgumentParser#addSubparsers(options) -> [[ActionSubparsers]] + * - options (object): hash of options see [[ActionSubparsers.new]] + * + * See also [subcommands][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#sub-commands + **/ +ArgumentParser.prototype.addSubparsers = function (options) { + if (this._subparsers) { + this.error('Cannot have multiple subparser arguments.'); + } + + options = options || {}; + options.debug = (this.debug === true); + options.optionStrings = []; + options.parserClass = (options.parserClass || ArgumentParser); + + + if (!!options.title || !!options.description) { + + this._subparsers = this.addArgumentGroup({ + title: (options.title || 'subcommands'), + description: options.description + }); + delete options.title; + delete options.description; + + } else { + this._subparsers = this._positionals; + } + + // prog defaults to the usage message of this parser, skipping + // optional arguments and with no "usage:" prefix + if (!options.prog) { + var formatter = this._getFormatter(); + var positionals = this._getPositionalActions(); + var groups = this._mutuallyExclusiveGroups; + formatter.addUsage(this.usage, positionals, groups, ''); + options.prog = formatter.formatHelp().trim(); + } + + // create the parsers action and add it to the positionals list + var ParsersClass = this._popActionClass(options, 'parsers'); + var action = new ParsersClass(options); + this._subparsers._addAction(action); + + // return the created parsers action + return action; +}; + +ArgumentParser.prototype._addAction = function (action) { + if (action.isOptional()) { + this._optionals._addAction(action); + } else { + this._positionals._addAction(action); + } + return action; +}; + +ArgumentParser.prototype._getOptionalActions = function () { + return this._actions.filter(function (action) { + return action.isOptional(); + }); +}; + +ArgumentParser.prototype._getPositionalActions = function () { + return this._actions.filter(function (action) { + return action.isPositional(); + }); +}; + + +/** + * ArgumentParser#parseArgs(args, namespace) -> Namespace|Object + * - args (array): input elements + * - namespace (Namespace|Object): result object + * + * Parsed args and throws error if some arguments are not recognized + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#the-parse-args-method + **/ +ArgumentParser.prototype.parseArgs = function (args, namespace) { + var argv; + var result = this.parseKnownArgs(args, namespace); + + args = result[0]; + argv = result[1]; + if (argv && argv.length > 0) { + this.error( + format('Unrecognized arguments: %s.', argv.join(' ')) + ); + } + return args; +}; + +/** + * ArgumentParser#parseKnownArgs(args, namespace) -> array + * - args (array): input options + * - namespace (Namespace|Object): result object + * + * Parse known arguments and return tuple of result object + * and unknown args + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#partial-parsing + **/ +ArgumentParser.prototype.parseKnownArgs = function (args, namespace) { + var self = this; + + // args default to the system args + args = args || process.argv.slice(2); + + // default Namespace built from parser defaults + namespace = namespace || new Namespace(); + + self._actions.forEach(function (action) { + if (action.dest !== c.SUPPRESS) { + if (!$$.has(namespace, action.dest)) { + if (action.defaultValue !== c.SUPPRESS) { + var defaultValue = action.defaultValue; + if (typeof action.defaultValue === 'string') { + defaultValue = self._getValue(action, defaultValue); + } + namespace[action.dest] = defaultValue; + } + } + } + }); + + Object.keys(self._defaults).forEach(function (dest) { + namespace[dest] = self._defaults[dest]; + }); + + // parse the arguments and exit if there are any errors + try { + var res = this._parseKnownArgs(args, namespace); + + namespace = res[0]; + args = res[1]; + if ($$.has(namespace, c._UNRECOGNIZED_ARGS_ATTR)) { + args = $$.arrayUnion(args, namespace[c._UNRECOGNIZED_ARGS_ATTR]); + delete namespace[c._UNRECOGNIZED_ARGS_ATTR]; + } + return [ namespace, args ]; + } catch (e) { + this.error(e); + } +}; + +ArgumentParser.prototype._parseKnownArgs = function (argStrings, namespace) { + var self = this; + + var extras = []; + + // replace arg strings that are file references + if (this.fromfilePrefixChars !== null) { + argStrings = this._readArgsFromFiles(argStrings); + } + // map all mutually exclusive arguments to the other arguments + // they can't occur with + // Python has 'conflicts = action_conflicts.setdefault(mutex_action, [])' + // though I can't conceive of a way in which an action could be a member + // of two different mutually exclusive groups. + + function actionHash(action) { + // some sort of hashable key for this action + // action itself cannot be a key in actionConflicts + // I think getName() (join of optionStrings) is unique enough + return action.getName(); + } + + var conflicts, key; + var actionConflicts = {}; + + this._mutuallyExclusiveGroups.forEach(function (mutexGroup) { + mutexGroup._groupActions.forEach(function (mutexAction, i, groupActions) { + key = actionHash(mutexAction); + if (!$$.has(actionConflicts, key)) { + actionConflicts[key] = []; + } + conflicts = actionConflicts[key]; + conflicts.push.apply(conflicts, groupActions.slice(0, i)); + conflicts.push.apply(conflicts, groupActions.slice(i + 1)); + }); + }); + + // find all option indices, and determine the arg_string_pattern + // which has an 'O' if there is an option at an index, + // an 'A' if there is an argument, or a '-' if there is a '--' + var optionStringIndices = {}; + + var argStringPatternParts = []; + + argStrings.forEach(function (argString, argStringIndex) { + if (argString === '--') { + argStringPatternParts.push('-'); + while (argStringIndex < argStrings.length) { + argStringPatternParts.push('A'); + argStringIndex++; + } + } else { + // otherwise, add the arg to the arg strings + // and note the index if it was an option + var pattern; + var optionTuple = self._parseOptional(argString); + if (!optionTuple) { + pattern = 'A'; + } else { + optionStringIndices[argStringIndex] = optionTuple; + pattern = 'O'; + } + argStringPatternParts.push(pattern); + } + }); + var argStringsPattern = argStringPatternParts.join(''); + + var seenActions = []; + var seenNonDefaultActions = []; + + + function takeAction(action, argumentStrings, optionString) { + seenActions.push(action); + var argumentValues = self._getValues(action, argumentStrings); + + // error if this argument is not allowed with other previously + // seen arguments, assuming that actions that use the default + // value don't really count as "present" + if (argumentValues !== action.defaultValue) { + seenNonDefaultActions.push(action); + if (actionConflicts[actionHash(action)]) { + actionConflicts[actionHash(action)].forEach(function (actionConflict) { + if (seenNonDefaultActions.indexOf(actionConflict) >= 0) { + throw argumentErrorHelper( + action, + format('Not allowed with argument "%s".', actionConflict.getName()) + ); + } + }); + } + } + + if (argumentValues !== c.SUPPRESS) { + action.call(self, namespace, argumentValues, optionString); + } + } + + function consumeOptional(startIndex) { + // get the optional identified at this index + var optionTuple = optionStringIndices[startIndex]; + var action = optionTuple[0]; + var optionString = optionTuple[1]; + var explicitArg = optionTuple[2]; + + // identify additional optionals in the same arg string + // (e.g. -xyz is the same as -x -y -z if no args are required) + var actionTuples = []; + + var args, argCount, start, stop; + + for (;;) { + if (!action) { + extras.push(argStrings[startIndex]); + return startIndex + 1; + } + if (explicitArg) { + argCount = self._matchArgument(action, 'A'); + + // if the action is a single-dash option and takes no + // arguments, try to parse more single-dash options out + // of the tail of the option string + var chars = self.prefixChars; + if (argCount === 0 && chars.indexOf(optionString[1]) < 0) { + actionTuples.push([ action, [], optionString ]); + optionString = optionString[0] + explicitArg[0]; + var newExplicitArg = explicitArg.slice(1) || null; + var optionalsMap = self._optionStringActions; + + if (Object.keys(optionalsMap).indexOf(optionString) >= 0) { + action = optionalsMap[optionString]; + explicitArg = newExplicitArg; + } else { + throw argumentErrorHelper(action, sprintf('ignored explicit argument %r', explicitArg)); + } + } else if (argCount === 1) { + // if the action expect exactly one argument, we've + // successfully matched the option; exit the loop + stop = startIndex + 1; + args = [ explicitArg ]; + actionTuples.push([ action, args, optionString ]); + break; + } else { + // error if a double-dash option did not use the + // explicit argument + throw argumentErrorHelper(action, sprintf('ignored explicit argument %r', explicitArg)); + } + } else { + // if there is no explicit argument, try to match the + // optional's string arguments with the following strings + // if successful, exit the loop + + start = startIndex + 1; + var selectedPatterns = argStringsPattern.substr(start); + + argCount = self._matchArgument(action, selectedPatterns); + stop = start + argCount; + + + args = argStrings.slice(start, stop); + + actionTuples.push([ action, args, optionString ]); + break; + } + + } + + // add the Optional to the list and return the index at which + // the Optional's string args stopped + if (actionTuples.length < 1) { + throw new Error('length should be > 0'); + } + for (var i = 0; i < actionTuples.length; i++) { + takeAction.apply(self, actionTuples[i]); + } + return stop; + } + + // the list of Positionals left to be parsed; this is modified + // by consume_positionals() + var positionals = self._getPositionalActions(); + + function consumePositionals(startIndex) { + // match as many Positionals as possible + var selectedPattern = argStringsPattern.substr(startIndex); + var argCounts = self._matchArgumentsPartial(positionals, selectedPattern); + + // slice off the appropriate arg strings for each Positional + // and add the Positional and its args to the list + for (var i = 0; i < positionals.length; i++) { + var action = positionals[i]; + var argCount = argCounts[i]; + if (typeof argCount === 'undefined') { + continue; + } + var args = argStrings.slice(startIndex, startIndex + argCount); + + startIndex += argCount; + takeAction(action, args); + } + + // slice off the Positionals that we just parsed and return the + // index at which the Positionals' string args stopped + positionals = positionals.slice(argCounts.length); + return startIndex; + } + + // consume Positionals and Optionals alternately, until we have + // passed the last option string + var startIndex = 0; + var position; + + var maxOptionStringIndex = -1; + + Object.keys(optionStringIndices).forEach(function (position) { + maxOptionStringIndex = Math.max(maxOptionStringIndex, parseInt(position, 10)); + }); + + var positionalsEndIndex, nextOptionStringIndex; + + while (startIndex <= maxOptionStringIndex) { + // consume any Positionals preceding the next option + nextOptionStringIndex = null; + for (position in optionStringIndices) { + if (!optionStringIndices.hasOwnProperty(position)) { continue; } + + position = parseInt(position, 10); + if (position >= startIndex) { + if (nextOptionStringIndex !== null) { + nextOptionStringIndex = Math.min(nextOptionStringIndex, position); + } else { + nextOptionStringIndex = position; + } + } + } + + if (startIndex !== nextOptionStringIndex) { + positionalsEndIndex = consumePositionals(startIndex); + // only try to parse the next optional if we didn't consume + // the option string during the positionals parsing + if (positionalsEndIndex > startIndex) { + startIndex = positionalsEndIndex; + continue; + } else { + startIndex = positionalsEndIndex; + } + } + + // if we consumed all the positionals we could and we're not + // at the index of an option string, there were extra arguments + if (!optionStringIndices[startIndex]) { + var strings = argStrings.slice(startIndex, nextOptionStringIndex); + extras = extras.concat(strings); + startIndex = nextOptionStringIndex; + } + // consume the next optional and any arguments for it + startIndex = consumeOptional(startIndex); + } + + // consume any positionals following the last Optional + var stopIndex = consumePositionals(startIndex); + + // if we didn't consume all the argument strings, there were extras + extras = extras.concat(argStrings.slice(stopIndex)); + + // if we didn't use all the Positional objects, there were too few + // arg strings supplied. + if (positionals.length > 0) { + self.error('too few arguments'); + } + + // make sure all required actions were present + self._actions.forEach(function (action) { + if (action.required) { + if (seenActions.indexOf(action) < 0) { + self.error(format('Argument "%s" is required', action.getName())); + } + } + }); + + // make sure all required groups have one option present + var actionUsed = false; + self._mutuallyExclusiveGroups.forEach(function (group) { + if (group.required) { + actionUsed = group._groupActions.some(function (action) { + return seenNonDefaultActions.indexOf(action) !== -1; + }); + + // if no actions were used, report the error + if (!actionUsed) { + var names = []; + group._groupActions.forEach(function (action) { + if (action.help !== c.SUPPRESS) { + names.push(action.getName()); + } + }); + names = names.join(' '); + var msg = 'one of the arguments ' + names + ' is required'; + self.error(msg); + } + } + }); + + // return the updated namespace and the extra arguments + return [ namespace, extras ]; +}; + +ArgumentParser.prototype._readArgsFromFiles = function (argStrings) { + // expand arguments referencing files + var self = this; + var fs = require('fs'); + var newArgStrings = []; + argStrings.forEach(function (argString) { + if (self.fromfilePrefixChars.indexOf(argString[0]) < 0) { + // for regular arguments, just add them back into the list + newArgStrings.push(argString); + } else { + // replace arguments referencing files with the file content + try { + var argstrs = []; + var filename = argString.slice(1); + var content = fs.readFileSync(filename, 'utf8'); + content = content.trim().split('\n'); + content.forEach(function (argLine) { + self.convertArgLineToArgs(argLine).forEach(function (arg) { + argstrs.push(arg); + }); + argstrs = self._readArgsFromFiles(argstrs); + }); + newArgStrings.push.apply(newArgStrings, argstrs); + } catch (error) { + return self.error(error.message); + } + } + }); + return newArgStrings; +}; + +ArgumentParser.prototype.convertArgLineToArgs = function (argLine) { + return [ argLine ]; +}; + +ArgumentParser.prototype._matchArgument = function (action, regexpArgStrings) { + + // match the pattern for this action to the arg strings + var regexpNargs = new RegExp('^' + this._getNargsPattern(action)); + var matches = regexpArgStrings.match(regexpNargs); + var message; + + // throw an exception if we weren't able to find a match + if (!matches) { + switch (action.nargs) { + /*eslint-disable no-undefined*/ + case undefined: + case null: + message = 'Expected one argument.'; + break; + case c.OPTIONAL: + message = 'Expected at most one argument.'; + break; + case c.ONE_OR_MORE: + message = 'Expected at least one argument.'; + break; + default: + message = 'Expected %s argument(s)'; + } + + throw argumentErrorHelper( + action, + format(message, action.nargs) + ); + } + // return the number of arguments matched + return matches[1].length; +}; + +ArgumentParser.prototype._matchArgumentsPartial = function (actions, regexpArgStrings) { + // progressively shorten the actions list by slicing off the + // final actions until we find a match + var self = this; + var result = []; + var actionSlice, pattern, matches; + var i, j; + + function getLength(string) { + return string.length; + } + + for (i = actions.length; i > 0; i--) { + pattern = ''; + actionSlice = actions.slice(0, i); + for (j = 0; j < actionSlice.length; j++) { + pattern += self._getNargsPattern(actionSlice[j]); + } + + pattern = new RegExp('^' + pattern); + matches = regexpArgStrings.match(pattern); + + if (matches && matches.length > 0) { + // need only groups + matches = matches.splice(1); + result = result.concat(matches.map(getLength)); + break; + } + } + + // return the list of arg string counts + return result; +}; + +ArgumentParser.prototype._parseOptional = function (argString) { + var action, optionString, argExplicit, optionTuples; + + // if it's an empty string, it was meant to be a positional + if (!argString) { + return null; + } + + // if it doesn't start with a prefix, it was meant to be positional + if (this.prefixChars.indexOf(argString[0]) < 0) { + return null; + } + + // if the option string is present in the parser, return the action + if (this._optionStringActions[argString]) { + return [ this._optionStringActions[argString], argString, null ]; + } + + // if it's just a single character, it was meant to be positional + if (argString.length === 1) { + return null; + } + + // if the option string before the "=" is present, return the action + if (argString.indexOf('=') >= 0) { + optionString = argString.split('=', 1)[0]; + argExplicit = argString.slice(optionString.length + 1); + + if (this._optionStringActions[optionString]) { + action = this._optionStringActions[optionString]; + return [ action, optionString, argExplicit ]; + } + } + + // search through all possible prefixes of the option string + // and all actions in the parser for possible interpretations + optionTuples = this._getOptionTuples(argString); + + // if multiple actions match, the option string was ambiguous + if (optionTuples.length > 1) { + var optionStrings = optionTuples.map(function (optionTuple) { + return optionTuple[1]; + }); + this.error(format( + 'Ambiguous option: "%s" could match %s.', + argString, optionStrings.join(', ') + )); + // if exactly one action matched, this segmentation is good, + // so return the parsed action + } else if (optionTuples.length === 1) { + return optionTuples[0]; + } + + // if it was not found as an option, but it looks like a negative + // number, it was meant to be positional + // unless there are negative-number-like options + if (argString.match(this._regexpNegativeNumber)) { + if (!this._hasNegativeNumberOptionals.some(Boolean)) { + return null; + } + } + // if it contains a space, it was meant to be a positional + if (argString.search(' ') >= 0) { + return null; + } + + // it was meant to be an optional but there is no such option + // in this parser (though it might be a valid option in a subparser) + return [ null, argString, null ]; +}; + +ArgumentParser.prototype._getOptionTuples = function (optionString) { + var result = []; + var chars = this.prefixChars; + var optionPrefix; + var argExplicit; + var action; + var actionOptionString; + + // option strings starting with two prefix characters are only split at + // the '=' + if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) >= 0) { + if (optionString.indexOf('=') >= 0) { + var optionStringSplit = optionString.split('=', 1); + + optionPrefix = optionStringSplit[0]; + argExplicit = optionStringSplit[1]; + } else { + optionPrefix = optionString; + argExplicit = null; + } + + for (actionOptionString in this._optionStringActions) { + if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { + action = this._optionStringActions[actionOptionString]; + result.push([ action, actionOptionString, argExplicit ]); + } + } + + // single character options can be concatenated with their arguments + // but multiple character options always have to have their argument + // separate + } else if (chars.indexOf(optionString[0]) >= 0 && chars.indexOf(optionString[1]) < 0) { + optionPrefix = optionString; + argExplicit = null; + var optionPrefixShort = optionString.substr(0, 2); + var argExplicitShort = optionString.substr(2); + + for (actionOptionString in this._optionStringActions) { + if (!$$.has(this._optionStringActions, actionOptionString)) continue; + + action = this._optionStringActions[actionOptionString]; + if (actionOptionString === optionPrefixShort) { + result.push([ action, actionOptionString, argExplicitShort ]); + } else if (actionOptionString.substr(0, optionPrefix.length) === optionPrefix) { + result.push([ action, actionOptionString, argExplicit ]); + } + } + + // shouldn't ever get here + } else { + throw new Error(format('Unexpected option string: %s.', optionString)); + } + // return the collected option tuples + return result; +}; + +ArgumentParser.prototype._getNargsPattern = function (action) { + // in all examples below, we have to allow for '--' args + // which are represented as '-' in the pattern + var regexpNargs; + + switch (action.nargs) { + // the default (null) is assumed to be a single argument + case undefined: + case null: + regexpNargs = '(-*A-*)'; + break; + // allow zero or more arguments + case c.OPTIONAL: + regexpNargs = '(-*A?-*)'; + break; + // allow zero or more arguments + case c.ZERO_OR_MORE: + regexpNargs = '(-*[A-]*)'; + break; + // allow one or more arguments + case c.ONE_OR_MORE: + regexpNargs = '(-*A[A-]*)'; + break; + // allow any number of options or arguments + case c.REMAINDER: + regexpNargs = '([-AO]*)'; + break; + // allow one argument followed by any number of options or arguments + case c.PARSER: + regexpNargs = '(-*A[-AO]*)'; + break; + // all others should be integers + default: + regexpNargs = '(-*' + $$.repeat('-*A', action.nargs) + '-*)'; + } + + // if this is an optional action, -- is not allowed + if (action.isOptional()) { + regexpNargs = regexpNargs.replace(/-\*/g, ''); + regexpNargs = regexpNargs.replace(/-/g, ''); + } + + // return the pattern + return regexpNargs; +}; + +// +// Value conversion methods +// + +ArgumentParser.prototype._getValues = function (action, argStrings) { + var self = this; + + // for everything but PARSER args, strip out '--' + if (action.nargs !== c.PARSER && action.nargs !== c.REMAINDER) { + argStrings = argStrings.filter(function (arrayElement) { + return arrayElement !== '--'; + }); + } + + var value, argString; + + // optional argument produces a default when not present + if (argStrings.length === 0 && action.nargs === c.OPTIONAL) { + + value = (action.isOptional()) ? action.constant : action.defaultValue; + + if (typeof (value) === 'string') { + value = this._getValue(action, value); + this._checkValue(action, value); + } + + // when nargs='*' on a positional, if there were no command-line + // args, use the default if it is anything other than None + } else if (argStrings.length === 0 && action.nargs === c.ZERO_OR_MORE && + action.optionStrings.length === 0) { + + value = (action.defaultValue || argStrings); + this._checkValue(action, value); + + // single argument or optional argument produces a single value + } else if (argStrings.length === 1 && + (!action.nargs || action.nargs === c.OPTIONAL)) { + + argString = argStrings[0]; + value = this._getValue(action, argString); + this._checkValue(action, value); + + // REMAINDER arguments convert all values, checking none + } else if (action.nargs === c.REMAINDER) { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + + // PARSER arguments convert all values, but check only the first + } else if (action.nargs === c.PARSER) { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + this._checkValue(action, value[0]); + + // all other types of nargs produce a list + } else { + value = argStrings.map(function (v) { + return self._getValue(action, v); + }); + value.forEach(function (v) { + self._checkValue(action, v); + }); + } + + // return the converted value + return value; +}; + +ArgumentParser.prototype._getValue = function (action, argString) { + var result; + + var typeFunction = this._registryGet('type', action.type, action.type); + if (typeof typeFunction !== 'function') { + var message = format('%s is not callable', typeFunction); + throw argumentErrorHelper(action, message); + } + + // convert the value to the appropriate type + try { + result = typeFunction(argString); + + // ArgumentTypeErrors indicate errors + // If action.type is not a registered string, it is a function + // Try to deduce its name for inclusion in the error message + // Failing that, include the error message it raised. + } catch (e) { + var name = null; + if (typeof action.type === 'string') { + name = action.type; + } else { + name = action.type.name || action.type.displayName || ''; + } + var msg = format('Invalid %s value: %s', name, argString); + if (name === '') { msg += '\n' + e.message; } + throw argumentErrorHelper(action, msg); + } + // return the converted value + return result; +}; + +ArgumentParser.prototype._checkValue = function (action, value) { + // converted value must be one of the choices (if specified) + var choices = action.choices; + if (choices) { + // choise for argument can by array or string + if ((typeof choices === 'string' || Array.isArray(choices)) && + choices.indexOf(value) !== -1) { + return; + } + // choise for subparsers can by only hash + if (typeof choices === 'object' && !Array.isArray(choices) && choices[value]) { + return; + } + + if (typeof choices === 'string') { + choices = choices.split('').join(', '); + } else if (Array.isArray(choices)) { + choices = choices.join(', '); + } else { + choices = Object.keys(choices).join(', '); + } + var message = format('Invalid choice: %s (choose from [%s])', value, choices); + throw argumentErrorHelper(action, message); + } +}; + +// +// Help formatting methods +// + +/** + * ArgumentParser#formatUsage -> string + * + * Return usage string + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.formatUsage = function () { + var formatter = this._getFormatter(); + formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); + return formatter.formatHelp(); +}; + +/** + * ArgumentParser#formatHelp -> string + * + * Return help + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.formatHelp = function () { + var formatter = this._getFormatter(); + + // usage + formatter.addUsage(this.usage, this._actions, this._mutuallyExclusiveGroups); + + // description + formatter.addText(this.description); + + // positionals, optionals and user-defined groups + this._actionGroups.forEach(function (actionGroup) { + formatter.startSection(actionGroup.title); + formatter.addText(actionGroup.description); + formatter.addArguments(actionGroup._groupActions); + formatter.endSection(); + }); + + // epilog + formatter.addText(this.epilog); + + // determine help from format above + return formatter.formatHelp(); +}; + +ArgumentParser.prototype._getFormatter = function () { + var FormatterClass = this.formatterClass; + var formatter = new FormatterClass({ prog: this.prog }); + return formatter; +}; + +// +// Print functions +// + +/** + * ArgumentParser#printUsage() -> Void + * + * Print usage + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.printUsage = function () { + this._printMessage(this.formatUsage()); +}; + +/** + * ArgumentParser#printHelp() -> Void + * + * Print help + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#printing-help + **/ +ArgumentParser.prototype.printHelp = function () { + this._printMessage(this.formatHelp()); +}; + +ArgumentParser.prototype._printMessage = function (message, stream) { + if (!stream) { + stream = process.stdout; + } + if (message) { + stream.write('' + message); + } +}; + +// +// Exit functions +// + +/** + * ArgumentParser#exit(status=0, message) -> Void + * - status (int): exit status + * - message (string): message + * + * Print message in stderr/stdout and exit program + **/ +ArgumentParser.prototype.exit = function (status, message) { + if (message) { + if (status === 0) { + this._printMessage(message); + } else { + this._printMessage(message, process.stderr); + } + } + + process.exit(status); +}; + +/** + * ArgumentParser#error(message) -> Void + * - err (Error|string): message + * + * Error method Prints a usage message incorporating the message to stderr and + * exits. If you override this in a subclass, + * it should not return -- it should + * either exit or throw an exception. + * + **/ +ArgumentParser.prototype.error = function (err) { + var message; + if (err instanceof Error) { + if (this.debug === true) { + throw err; + } + message = err.message; + } else { + message = err; + } + var msg = format('%s: error: %s', this.prog, message) + c.EOL; + + if (this.debug === true) { + throw new Error(msg); + } + + this.printUsage(process.stderr); + + return this.exit(2, msg); +}; + +module.exports = ArgumentParser; diff --git a/node_modules/argparse/lib/const.js b/node_modules/argparse/lib/const.js new file mode 100644 index 0000000..b1fd4ce --- /dev/null +++ b/node_modules/argparse/lib/const.js @@ -0,0 +1,21 @@ +// +// Constants +// + +'use strict'; + +module.exports.EOL = '\n'; + +module.exports.SUPPRESS = '==SUPPRESS=='; + +module.exports.OPTIONAL = '?'; + +module.exports.ZERO_OR_MORE = '*'; + +module.exports.ONE_OR_MORE = '+'; + +module.exports.PARSER = 'A...'; + +module.exports.REMAINDER = '...'; + +module.exports._UNRECOGNIZED_ARGS_ATTR = '_unrecognized_args'; diff --git a/node_modules/argparse/lib/help/added_formatters.js b/node_modules/argparse/lib/help/added_formatters.js new file mode 100644 index 0000000..f8e4299 --- /dev/null +++ b/node_modules/argparse/lib/help/added_formatters.js @@ -0,0 +1,87 @@ +'use strict'; + +var util = require('util'); + +// Constants +var c = require('../const'); + +var $$ = require('../utils'); +var HelpFormatter = require('./formatter.js'); + +/** + * new RawDescriptionHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) + * + * Help message formatter which adds default values to argument help. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +function ArgumentDefaultsHelpFormatter(options) { + HelpFormatter.call(this, options); +} + +util.inherits(ArgumentDefaultsHelpFormatter, HelpFormatter); + +ArgumentDefaultsHelpFormatter.prototype._getHelpString = function (action) { + var help = action.help; + if (action.help.indexOf('%(defaultValue)s') === -1) { + if (action.defaultValue !== c.SUPPRESS) { + var defaulting_nargs = [ c.OPTIONAL, c.ZERO_OR_MORE ]; + if (action.isOptional() || (defaulting_nargs.indexOf(action.nargs) >= 0)) { + help += ' (default: %(defaultValue)s)'; + } + } + } + return help; +}; + +module.exports.ArgumentDefaultsHelpFormatter = ArgumentDefaultsHelpFormatter; + +/** + * new RawDescriptionHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) + * + * Help message formatter which retains any formatting in descriptions. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +function RawDescriptionHelpFormatter(options) { + HelpFormatter.call(this, options); +} + +util.inherits(RawDescriptionHelpFormatter, HelpFormatter); + +RawDescriptionHelpFormatter.prototype._fillText = function (text, width, indent) { + var lines = text.split('\n'); + lines = lines.map(function (line) { + return $$.trimEnd(indent + line); + }); + return lines.join('\n'); +}; +module.exports.RawDescriptionHelpFormatter = RawDescriptionHelpFormatter; + +/** + * new RawTextHelpFormatter(options) + * new ArgumentParser({formatterClass: argparse.RawTextHelpFormatter, ...}) + * + * Help message formatter which retains formatting of all help text. + * + * Only the name of this class is considered a public API. All the methods + * provided by the class are considered an implementation detail. + **/ + +function RawTextHelpFormatter(options) { + RawDescriptionHelpFormatter.call(this, options); +} + +util.inherits(RawTextHelpFormatter, RawDescriptionHelpFormatter); + +RawTextHelpFormatter.prototype._splitLines = function (text) { + return text.split('\n'); +}; + +module.exports.RawTextHelpFormatter = RawTextHelpFormatter; diff --git a/node_modules/argparse/lib/help/formatter.js b/node_modules/argparse/lib/help/formatter.js new file mode 100644 index 0000000..29036c1 --- /dev/null +++ b/node_modules/argparse/lib/help/formatter.js @@ -0,0 +1,795 @@ +/** + * class HelpFormatter + * + * Formatter for generating usage messages and argument help strings. Only the + * name of this class is considered a public API. All the methods provided by + * the class are considered an implementation detail. + * + * Do not call in your code, use this class only for inherits your own forvatter + * + * ToDo add [additonal formatters][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#formatter-class + **/ +'use strict'; + +var sprintf = require('sprintf-js').sprintf; + +// Constants +var c = require('../const'); + +var $$ = require('../utils'); + + +/*:nodoc:* internal + * new Support(parent, heding) + * - parent (object): parent section + * - heading (string): header string + * + **/ +function Section(parent, heading) { + this._parent = parent; + this._heading = heading; + this._items = []; +} + +/*:nodoc:* internal + * Section#addItem(callback) -> Void + * - callback (array): tuple with function and args + * + * Add function for single element + **/ +Section.prototype.addItem = function (callback) { + this._items.push(callback); +}; + +/*:nodoc:* internal + * Section#formatHelp(formatter) -> string + * - formatter (HelpFormatter): current formatter + * + * Form help section string + * + **/ +Section.prototype.formatHelp = function (formatter) { + var itemHelp, heading; + + // format the indented section + if (this._parent) { + formatter._indent(); + } + + itemHelp = this._items.map(function (item) { + var obj, func, args; + + obj = formatter; + func = item[0]; + args = item[1]; + return func.apply(obj, args); + }); + itemHelp = formatter._joinParts(itemHelp); + + if (this._parent) { + formatter._dedent(); + } + + // return nothing if the section was empty + if (!itemHelp) { + return ''; + } + + // add the heading if the section was non-empty + heading = ''; + if (this._heading && this._heading !== c.SUPPRESS) { + var currentIndent = formatter.currentIndent; + heading = $$.repeat(' ', currentIndent) + this._heading + ':' + c.EOL; + } + + // join the section-initialize newline, the heading and the help + return formatter._joinParts([ c.EOL, heading, itemHelp, c.EOL ]); +}; + +/** + * new HelpFormatter(options) + * + * #### Options: + * - `prog`: program name + * - `indentIncriment`: indent step, default value 2 + * - `maxHelpPosition`: max help position, default value = 24 + * - `width`: line width + * + **/ +var HelpFormatter = module.exports = function HelpFormatter(options) { + options = options || {}; + + this._prog = options.prog; + + this._maxHelpPosition = options.maxHelpPosition || 24; + this._width = (options.width || ((process.env.COLUMNS || 80) - 2)); + + this._currentIndent = 0; + this._indentIncriment = options.indentIncriment || 2; + this._level = 0; + this._actionMaxLength = 0; + + this._rootSection = new Section(null); + this._currentSection = this._rootSection; + + this._whitespaceMatcher = new RegExp('\\s+', 'g'); + this._longBreakMatcher = new RegExp(c.EOL + c.EOL + c.EOL + '+', 'g'); +}; + +HelpFormatter.prototype._indent = function () { + this._currentIndent += this._indentIncriment; + this._level += 1; +}; + +HelpFormatter.prototype._dedent = function () { + this._currentIndent -= this._indentIncriment; + this._level -= 1; + if (this._currentIndent < 0) { + throw new Error('Indent decreased below 0.'); + } +}; + +HelpFormatter.prototype._addItem = function (func, args) { + this._currentSection.addItem([ func, args ]); +}; + +// +// Message building methods +// + +/** + * HelpFormatter#startSection(heading) -> Void + * - heading (string): header string + * + * Start new help section + * + * See alse [code example][1] + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.startSection = function (heading) { + this._indent(); + var section = new Section(this._currentSection, heading); + var func = section.formatHelp.bind(section); + this._addItem(func, [ this ]); + this._currentSection = section; +}; + +/** + * HelpFormatter#endSection -> Void + * + * End help section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + **/ +HelpFormatter.prototype.endSection = function () { + this._currentSection = this._currentSection._parent; + this._dedent(); +}; + +/** + * HelpFormatter#addText(text) -> Void + * - text (string): plain text + * + * Add plain text into current section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.addText = function (text) { + if (text && text !== c.SUPPRESS) { + this._addItem(this._formatText, [ text ]); + } +}; + +/** + * HelpFormatter#addUsage(usage, actions, groups, prefix) -> Void + * - usage (string): usage text + * - actions (array): actions list + * - groups (array): groups list + * - prefix (string): usage prefix + * + * Add usage data into current section + * + * ##### Example + * + * formatter.addUsage(this.usage, this._actions, []); + * return formatter.formatHelp(); + * + **/ +HelpFormatter.prototype.addUsage = function (usage, actions, groups, prefix) { + if (usage !== c.SUPPRESS) { + this._addItem(this._formatUsage, [ usage, actions, groups, prefix ]); + } +}; + +/** + * HelpFormatter#addArgument(action) -> Void + * - action (object): action + * + * Add argument into current section + * + * Single variant of [[HelpFormatter#addArguments]] + **/ +HelpFormatter.prototype.addArgument = function (action) { + if (action.help !== c.SUPPRESS) { + var self = this; + + // find all invocations + var invocations = [ this._formatActionInvocation(action) ]; + var invocationLength = invocations[0].length; + + var actionLength; + + if (action._getSubactions) { + this._indent(); + action._getSubactions().forEach(function (subaction) { + + var invocationNew = self._formatActionInvocation(subaction); + invocations.push(invocationNew); + invocationLength = Math.max(invocationLength, invocationNew.length); + + }); + this._dedent(); + } + + // update the maximum item length + actionLength = invocationLength + this._currentIndent; + this._actionMaxLength = Math.max(this._actionMaxLength, actionLength); + + // add the item to the list + this._addItem(this._formatAction, [ action ]); + } +}; + +/** + * HelpFormatter#addArguments(actions) -> Void + * - actions (array): actions list + * + * Mass add arguments into current section + * + * ##### Example + * + * formatter.startSection(actionGroup.title); + * formatter.addText(actionGroup.description); + * formatter.addArguments(actionGroup._groupActions); + * formatter.endSection(); + * + **/ +HelpFormatter.prototype.addArguments = function (actions) { + var self = this; + actions.forEach(function (action) { + self.addArgument(action); + }); +}; + +// +// Help-formatting methods +// + +/** + * HelpFormatter#formatHelp -> string + * + * Format help + * + * ##### Example + * + * formatter.addText(this.epilog); + * return formatter.formatHelp(); + * + **/ +HelpFormatter.prototype.formatHelp = function () { + var help = this._rootSection.formatHelp(this); + if (help) { + help = help.replace(this._longBreakMatcher, c.EOL + c.EOL); + help = $$.trimChars(help, c.EOL) + c.EOL; + } + return help; +}; + +HelpFormatter.prototype._joinParts = function (partStrings) { + return partStrings.filter(function (part) { + return (part && part !== c.SUPPRESS); + }).join(''); +}; + +HelpFormatter.prototype._formatUsage = function (usage, actions, groups, prefix) { + if (!prefix && typeof prefix !== 'string') { + prefix = 'usage: '; + } + + actions = actions || []; + groups = groups || []; + + + // if usage is specified, use that + if (usage) { + usage = sprintf(usage, { prog: this._prog }); + + // if no optionals or positionals are available, usage is just prog + } else if (!usage && actions.length === 0) { + usage = this._prog; + + // if optionals and positionals are available, calculate usage + } else if (!usage) { + var prog = this._prog; + var optionals = []; + var positionals = []; + var actionUsage; + var textWidth; + + // split optionals from positionals + actions.forEach(function (action) { + if (action.isOptional()) { + optionals.push(action); + } else { + positionals.push(action); + } + }); + + // build full usage string + actionUsage = this._formatActionsUsage([].concat(optionals, positionals), groups); + usage = [ prog, actionUsage ].join(' '); + + // wrap the usage parts if it's too long + textWidth = this._width - this._currentIndent; + if ((prefix.length + usage.length) > textWidth) { + + // break usage into wrappable parts + var regexpPart = new RegExp('\\(.*?\\)+|\\[.*?\\]+|\\S+', 'g'); + var optionalUsage = this._formatActionsUsage(optionals, groups); + var positionalUsage = this._formatActionsUsage(positionals, groups); + + + var optionalParts = optionalUsage.match(regexpPart); + var positionalParts = positionalUsage.match(regexpPart) || []; + + if (optionalParts.join(' ') !== optionalUsage) { + throw new Error('assert "optionalParts.join(\' \') === optionalUsage"'); + } + if (positionalParts.join(' ') !== positionalUsage) { + throw new Error('assert "positionalParts.join(\' \') === positionalUsage"'); + } + + // helper for wrapping lines + /*eslint-disable func-style*/ // node 0.10 compat + var _getLines = function (parts, indent, prefix) { + var lines = []; + var line = []; + + var lineLength = prefix ? prefix.length - 1 : indent.length - 1; + + parts.forEach(function (part) { + if (lineLength + 1 + part.length > textWidth) { + lines.push(indent + line.join(' ')); + line = []; + lineLength = indent.length - 1; + } + line.push(part); + lineLength += part.length + 1; + }); + + if (line) { + lines.push(indent + line.join(' ')); + } + if (prefix) { + lines[0] = lines[0].substr(indent.length); + } + return lines; + }; + + var lines, indent, parts; + // if prog is short, follow it with optionals or positionals + if (prefix.length + prog.length <= 0.75 * textWidth) { + indent = $$.repeat(' ', (prefix.length + prog.length + 1)); + if (optionalParts) { + lines = [].concat( + _getLines([ prog ].concat(optionalParts), indent, prefix), + _getLines(positionalParts, indent) + ); + } else if (positionalParts) { + lines = _getLines([ prog ].concat(positionalParts), indent, prefix); + } else { + lines = [ prog ]; + } + + // if prog is long, put it on its own line + } else { + indent = $$.repeat(' ', prefix.length); + parts = optionalParts.concat(positionalParts); + lines = _getLines(parts, indent); + if (lines.length > 1) { + lines = [].concat( + _getLines(optionalParts, indent), + _getLines(positionalParts, indent) + ); + } + lines = [ prog ].concat(lines); + } + // join lines into usage + usage = lines.join(c.EOL); + } + } + + // prefix with 'usage:' + return prefix + usage + c.EOL + c.EOL; +}; + +HelpFormatter.prototype._formatActionsUsage = function (actions, groups) { + // find group indices and identify actions in groups + var groupActions = []; + var inserts = []; + var self = this; + + groups.forEach(function (group) { + var end; + var i; + + var start = actions.indexOf(group._groupActions[0]); + if (start >= 0) { + end = start + group._groupActions.length; + + //if (actions.slice(start, end) === group._groupActions) { + if ($$.arrayEqual(actions.slice(start, end), group._groupActions)) { + group._groupActions.forEach(function (action) { + groupActions.push(action); + }); + + if (!group.required) { + if (inserts[start]) { + inserts[start] += ' ['; + } else { + inserts[start] = '['; + } + inserts[end] = ']'; + } else { + if (inserts[start]) { + inserts[start] += ' ('; + } else { + inserts[start] = '('; + } + inserts[end] = ')'; + } + for (i = start + 1; i < end; i += 1) { + inserts[i] = '|'; + } + } + } + }); + + // collect all actions format strings + var parts = []; + + actions.forEach(function (action, actionIndex) { + var part; + var optionString; + var argsDefault; + var argsString; + + // suppressed arguments are marked with None + // remove | separators for suppressed arguments + if (action.help === c.SUPPRESS) { + parts.push(null); + if (inserts[actionIndex] === '|') { + inserts.splice(actionIndex, actionIndex); + } else if (inserts[actionIndex + 1] === '|') { + inserts.splice(actionIndex + 1, actionIndex + 1); + } + + // produce all arg strings + } else if (!action.isOptional()) { + part = self._formatArgs(action, action.dest); + + // if it's in a group, strip the outer [] + if (groupActions.indexOf(action) >= 0) { + if (part[0] === '[' && part[part.length - 1] === ']') { + part = part.slice(1, -1); + } + } + // add the action string to the list + parts.push(part); + + // produce the first way to invoke the option in brackets + } else { + optionString = action.optionStrings[0]; + + // if the Optional doesn't take a value, format is: -s or --long + if (action.nargs === 0) { + part = '' + optionString; + + // if the Optional takes a value, format is: -s ARGS or --long ARGS + } else { + argsDefault = action.dest.toUpperCase(); + argsString = self._formatArgs(action, argsDefault); + part = optionString + ' ' + argsString; + } + // make it look optional if it's not required or in a group + if (!action.required && groupActions.indexOf(action) < 0) { + part = '[' + part + ']'; + } + // add the action string to the list + parts.push(part); + } + }); + + // insert things at the necessary indices + for (var i = inserts.length - 1; i >= 0; --i) { + if (inserts[i] !== null) { + parts.splice(i, 0, inserts[i]); + } + } + + // join all the action items with spaces + var text = parts.filter(function (part) { + return !!part; + }).join(' '); + + // clean up separators for mutually exclusive groups + text = text.replace(/([\[(]) /g, '$1'); // remove spaces + text = text.replace(/ ([\])])/g, '$1'); + text = text.replace(/\[ *\]/g, ''); // remove empty groups + text = text.replace(/\( *\)/g, ''); + text = text.replace(/\(([^|]*)\)/g, '$1'); // remove () from single action groups + + text = text.trim(); + + // return the text + return text; +}; + +HelpFormatter.prototype._formatText = function (text) { + text = sprintf(text, { prog: this._prog }); + var textWidth = this._width - this._currentIndent; + var indentIncriment = $$.repeat(' ', this._currentIndent); + return this._fillText(text, textWidth, indentIncriment) + c.EOL + c.EOL; +}; + +HelpFormatter.prototype._formatAction = function (action) { + var self = this; + + var helpText; + var helpLines; + var parts; + var indentFirst; + + // determine the required width and the entry label + var helpPosition = Math.min(this._actionMaxLength + 2, this._maxHelpPosition); + var helpWidth = this._width - helpPosition; + var actionWidth = helpPosition - this._currentIndent - 2; + var actionHeader = this._formatActionInvocation(action); + + // no help; start on same line and add a final newline + if (!action.help) { + actionHeader = $$.repeat(' ', this._currentIndent) + actionHeader + c.EOL; + + // short action name; start on the same line and pad two spaces + } else if (actionHeader.length <= actionWidth) { + actionHeader = $$.repeat(' ', this._currentIndent) + + actionHeader + + ' ' + + $$.repeat(' ', actionWidth - actionHeader.length); + indentFirst = 0; + + // long action name; start on the next line + } else { + actionHeader = $$.repeat(' ', this._currentIndent) + actionHeader + c.EOL; + indentFirst = helpPosition; + } + + // collect the pieces of the action help + parts = [ actionHeader ]; + + // if there was help for the action, add lines of help text + if (action.help) { + helpText = this._expandHelp(action); + helpLines = this._splitLines(helpText, helpWidth); + parts.push($$.repeat(' ', indentFirst) + helpLines[0] + c.EOL); + helpLines.slice(1).forEach(function (line) { + parts.push($$.repeat(' ', helpPosition) + line + c.EOL); + }); + + // or add a newline if the description doesn't end with one + } else if (actionHeader.charAt(actionHeader.length - 1) !== c.EOL) { + parts.push(c.EOL); + } + // if there are any sub-actions, add their help as well + if (action._getSubactions) { + this._indent(); + action._getSubactions().forEach(function (subaction) { + parts.push(self._formatAction(subaction)); + }); + this._dedent(); + } + // return a single string + return this._joinParts(parts); +}; + +HelpFormatter.prototype._formatActionInvocation = function (action) { + if (!action.isOptional()) { + var format_func = this._metavarFormatter(action, action.dest); + var metavars = format_func(1); + return metavars[0]; + } + + var parts = []; + var argsDefault; + var argsString; + + // if the Optional doesn't take a value, format is: -s, --long + if (action.nargs === 0) { + parts = parts.concat(action.optionStrings); + + // if the Optional takes a value, format is: -s ARGS, --long ARGS + } else { + argsDefault = action.dest.toUpperCase(); + argsString = this._formatArgs(action, argsDefault); + action.optionStrings.forEach(function (optionString) { + parts.push(optionString + ' ' + argsString); + }); + } + return parts.join(', '); +}; + +HelpFormatter.prototype._metavarFormatter = function (action, metavarDefault) { + var result; + + if (action.metavar || action.metavar === '') { + result = action.metavar; + } else if (action.choices) { + var choices = action.choices; + + if (typeof choices === 'string') { + choices = choices.split('').join(', '); + } else if (Array.isArray(choices)) { + choices = choices.join(','); + } else { + choices = Object.keys(choices).join(','); + } + result = '{' + choices + '}'; + } else { + result = metavarDefault; + } + + return function (size) { + if (Array.isArray(result)) { + return result; + } + + var metavars = []; + for (var i = 0; i < size; i += 1) { + metavars.push(result); + } + return metavars; + }; +}; + +HelpFormatter.prototype._formatArgs = function (action, metavarDefault) { + var result; + var metavars; + + var buildMetavar = this._metavarFormatter(action, metavarDefault); + + switch (action.nargs) { + /*eslint-disable no-undefined*/ + case undefined: + case null: + metavars = buildMetavar(1); + result = '' + metavars[0]; + break; + case c.OPTIONAL: + metavars = buildMetavar(1); + result = '[' + metavars[0] + ']'; + break; + case c.ZERO_OR_MORE: + metavars = buildMetavar(2); + result = '[' + metavars[0] + ' [' + metavars[1] + ' ...]]'; + break; + case c.ONE_OR_MORE: + metavars = buildMetavar(2); + result = '' + metavars[0] + ' [' + metavars[1] + ' ...]'; + break; + case c.REMAINDER: + result = '...'; + break; + case c.PARSER: + metavars = buildMetavar(1); + result = metavars[0] + ' ...'; + break; + default: + metavars = buildMetavar(action.nargs); + result = metavars.join(' '); + } + return result; +}; + +HelpFormatter.prototype._expandHelp = function (action) { + var params = { prog: this._prog }; + + Object.keys(action).forEach(function (actionProperty) { + var actionValue = action[actionProperty]; + + if (actionValue !== c.SUPPRESS) { + params[actionProperty] = actionValue; + } + }); + + if (params.choices) { + if (typeof params.choices === 'string') { + params.choices = params.choices.split('').join(', '); + } else if (Array.isArray(params.choices)) { + params.choices = params.choices.join(', '); + } else { + params.choices = Object.keys(params.choices).join(', '); + } + } + + return sprintf(this._getHelpString(action), params); +}; + +HelpFormatter.prototype._splitLines = function (text, width) { + var lines = []; + var delimiters = [ ' ', '.', ',', '!', '?' ]; + var re = new RegExp('[' + delimiters.join('') + '][^' + delimiters.join('') + ']*$'); + + text = text.replace(/[\n\|\t]/g, ' '); + + text = text.trim(); + text = text.replace(this._whitespaceMatcher, ' '); + + // Wraps the single paragraph in text (a string) so every line + // is at most width characters long. + text.split(c.EOL).forEach(function (line) { + if (width >= line.length) { + lines.push(line); + return; + } + + var wrapStart = 0; + var wrapEnd = width; + var delimiterIndex = 0; + while (wrapEnd <= line.length) { + if (wrapEnd !== line.length && delimiters.indexOf(line[wrapEnd] < -1)) { + delimiterIndex = (re.exec(line.substring(wrapStart, wrapEnd)) || {}).index; + wrapEnd = wrapStart + delimiterIndex + 1; + } + lines.push(line.substring(wrapStart, wrapEnd)); + wrapStart = wrapEnd; + wrapEnd += width; + } + if (wrapStart < line.length) { + lines.push(line.substring(wrapStart, wrapEnd)); + } + }); + + return lines; +}; + +HelpFormatter.prototype._fillText = function (text, width, indent) { + var lines = this._splitLines(text, width); + lines = lines.map(function (line) { + return indent + line; + }); + return lines.join(c.EOL); +}; + +HelpFormatter.prototype._getHelpString = function (action) { + return action.help; +}; diff --git a/node_modules/argparse/lib/namespace.js b/node_modules/argparse/lib/namespace.js new file mode 100644 index 0000000..a860de9 --- /dev/null +++ b/node_modules/argparse/lib/namespace.js @@ -0,0 +1,76 @@ +/** + * class Namespace + * + * Simple object for storing attributes. Implements equality by attribute names + * and values, and provides a simple string representation. + * + * See also [original guide][1] + * + * [1]:http://docs.python.org/dev/library/argparse.html#the-namespace-object + **/ +'use strict'; + +var $$ = require('./utils'); + +/** + * new Namespace(options) + * - options(object): predefined propertis for result object + * + **/ +var Namespace = module.exports = function Namespace(options) { + $$.extend(this, options); +}; + +/** + * Namespace#isset(key) -> Boolean + * - key (string|number): property name + * + * Tells whenever `namespace` contains given `key` or not. + **/ +Namespace.prototype.isset = function (key) { + return $$.has(this, key); +}; + +/** + * Namespace#set(key, value) -> self + * -key (string|number|object): propery name + * -value (mixed): new property value + * + * Set the property named key with value. + * If key object then set all key properties to namespace object + **/ +Namespace.prototype.set = function (key, value) { + if (typeof (key) === 'object') { + $$.extend(this, key); + } else { + this[key] = value; + } + return this; +}; + +/** + * Namespace#get(key, defaultValue) -> mixed + * - key (string|number): property name + * - defaultValue (mixed): default value + * + * Return the property key or defaulValue if not set + **/ +Namespace.prototype.get = function (key, defaultValue) { + return !this[key] ? defaultValue : this[key]; +}; + +/** + * Namespace#unset(key, defaultValue) -> mixed + * - key (string|number): property name + * - defaultValue (mixed): default value + * + * Return data[key](and delete it) or defaultValue + **/ +Namespace.prototype.unset = function (key, defaultValue) { + var value = this[key]; + if (value !== null) { + delete this[key]; + return value; + } + return defaultValue; +}; diff --git a/node_modules/argparse/lib/utils.js b/node_modules/argparse/lib/utils.js new file mode 100644 index 0000000..4a9cf3e --- /dev/null +++ b/node_modules/argparse/lib/utils.js @@ -0,0 +1,57 @@ +'use strict'; + +exports.repeat = function (str, num) { + var result = ''; + for (var i = 0; i < num; i++) { result += str; } + return result; +}; + +exports.arrayEqual = function (a, b) { + if (a.length !== b.length) { return false; } + for (var i = 0; i < a.length; i++) { + if (a[i] !== b[i]) { return false; } + } + return true; +}; + +exports.trimChars = function (str, chars) { + var start = 0; + var end = str.length - 1; + while (chars.indexOf(str.charAt(start)) >= 0) { start++; } + while (chars.indexOf(str.charAt(end)) >= 0) { end--; } + return str.slice(start, end + 1); +}; + +exports.capitalize = function (str) { + return str.charAt(0).toUpperCase() + str.slice(1); +}; + +exports.arrayUnion = function () { + var result = []; + for (var i = 0, values = {}; i < arguments.length; i++) { + var arr = arguments[i]; + for (var j = 0; j < arr.length; j++) { + if (!values[arr[j]]) { + values[arr[j]] = true; + result.push(arr[j]); + } + } + } + return result; +}; + +function has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +exports.has = has; + +exports.extend = function (dest, src) { + for (var i in src) { + if (has(src, i)) { dest[i] = src[i]; } + } +}; + +exports.trimEnd = function (str) { + return str.replace(/\s+$/g, ''); +}; diff --git a/node_modules/argparse/package.json b/node_modules/argparse/package.json new file mode 100644 index 0000000..6bb96cb --- /dev/null +++ b/node_modules/argparse/package.json @@ -0,0 +1,38 @@ +{ + "name": "argparse", + "description": "Very powerful CLI arguments parser. Native port of argparse - python's options parsing library", + "version": "1.0.10", + "keywords": [ + "cli", + "parser", + "argparse", + "option", + "args" + ], + "contributors": [ + "Eugene Shkuropat", + "Paul Jacobson" + ], + "files": [ + "index.js", + "lib/" + ], + "license": "MIT", + "repository": "nodeca/argparse", + "scripts": { + "test": "make test" + }, + "dependencies": { + "sprintf-js": "~1.0.2" + }, + "devDependencies": { + "eslint": "^2.13.1", + "istanbul": "^0.4.5", + "mocha": "^3.1.0", + "ndoc": "^5.0.1" + } + +,"_resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" +,"_integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" +,"_from": "argparse@1.0.10" +} \ No newline at end of file diff --git a/node_modules/atob-lite/.npmignore b/node_modules/atob-lite/.npmignore new file mode 100644 index 0000000..50c7458 --- /dev/null +++ b/node_modules/atob-lite/.npmignore @@ -0,0 +1,6 @@ +node_modules +*.log +.DS_Store +bundle.js +test +test.js diff --git a/node_modules/atob-lite/LICENSE.md b/node_modules/atob-lite/LICENSE.md new file mode 100644 index 0000000..ee27ba4 --- /dev/null +++ b/node_modules/atob-lite/LICENSE.md @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +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/atob-lite/README.md b/node_modules/atob-lite/README.md new file mode 100644 index 0000000..99ea05d --- /dev/null +++ b/node_modules/atob-lite/README.md @@ -0,0 +1,37 @@ +# atob-lite +![](http://img.shields.io/badge/stability-stable-orange.svg?style=flat) +![](http://img.shields.io/npm/v/atob-lite.svg?style=flat) +![](http://img.shields.io/npm/dm/atob-lite.svg?style=flat) +![](http://img.shields.io/npm/l/atob-lite.svg?style=flat) + +Smallest/simplest possible means of using atob with both Node and browserify. + +In the browser, decoding base64 strings is done using: + +``` javascript +var decoded = atob(encoded) +``` + +However in Node, it's done like so: + +``` javascript +var decoded = new Buffer(encoded, 'base64').toString('utf8') +``` + +You can easily check if `Buffer` exists and switch between the approaches +accordingly, but using `Buffer` anywhere in your browser source will pull +in browserify's `Buffer` shim which is pretty hefty. This package uses +the `main` and `browser` fields in its `package.json` to perform this +check at build time and avoid pulling `Buffer` in unnecessarily. + +## Usage + +[![NPM](https://nodei.co/npm/atob-lite.png)](https://nodei.co/npm/atob-lite/) + +### `decoded = atob(encoded)` + +Returns the decoded value of a base64-encoded string. + +## License + +MIT. See [LICENSE.md](http://github.com/hughsk/atob-lite/blob/master/LICENSE.md) for details. diff --git a/node_modules/atob-lite/atob-browser.js b/node_modules/atob-lite/atob-browser.js new file mode 100644 index 0000000..cee1a38 --- /dev/null +++ b/node_modules/atob-lite/atob-browser.js @@ -0,0 +1,3 @@ +module.exports = function _atob(str) { + return atob(str) +} diff --git a/node_modules/atob-lite/atob-node.js b/node_modules/atob-lite/atob-node.js new file mode 100644 index 0000000..7072075 --- /dev/null +++ b/node_modules/atob-lite/atob-node.js @@ -0,0 +1,3 @@ +module.exports = function atob(str) { + return Buffer.from(str, 'base64').toString('binary') +} diff --git a/node_modules/atob-lite/package.json b/node_modules/atob-lite/package.json new file mode 100644 index 0000000..afba3d0 --- /dev/null +++ b/node_modules/atob-lite/package.json @@ -0,0 +1,46 @@ +{ + "name": "atob-lite", + "version": "2.0.0", + "description": "Smallest/simplest possible means of using atob with both Node and browserify", + "main": "atob-node.js", + "browser": "atob-browser.js", + "license": "MIT", + "scripts": { + "test": "npm run test-node && npm run test-browser", + "test-node": "node test | tap-spec", + "test-browser": "browserify test | smokestack | tap-spec" + }, + "author": { + "name": "Hugh Kennedy", + "email": "hughskennedy@gmail.com", + "url": "http://hughsk.io/" + }, + "dependencies": {}, + "devDependencies": { + "browserify": "^10.2.4", + "smokestack": "^3.3.0", + "tap-closer": "^1.0.0", + "tap-spec": "^4.0.0", + "tape": "^4.0.0" + }, + "repository": { + "type": "git", + "url": "git://github.com/hughsk/atob-lite.git" + }, + "keywords": [ + "atob", + "base64", + "isomorphic", + "browser", + "node", + "shared" + ], + "homepage": "https://github.com/hughsk/atob-lite", + "bugs": { + "url": "https://github.com/hughsk/atob-lite/issues" + } + +,"_resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz" +,"_integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" +,"_from": "atob-lite@2.0.0" +} \ No newline at end of file diff --git a/node_modules/balanced-match/.npmignore b/node_modules/balanced-match/.npmignore new file mode 100644 index 0000000..ae5d8c3 --- /dev/null +++ b/node_modules/balanced-match/.npmignore @@ -0,0 +1,5 @@ +test +.gitignore +.travis.yml +Makefile +example.js diff --git a/node_modules/balanced-match/LICENSE.md b/node_modules/balanced-match/LICENSE.md new file mode 100644 index 0000000..2cdc8e4 --- /dev/null +++ b/node_modules/balanced-match/LICENSE.md @@ -0,0 +1,21 @@ +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +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/balanced-match/README.md b/node_modules/balanced-match/README.md new file mode 100644 index 0000000..08e918c --- /dev/null +++ b/node_modules/balanced-match/README.md @@ -0,0 +1,91 @@ +# balanced-match + +Match balanced string pairs, like `{` and `}` or `` and ``. Supports regular expressions as well! + +[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match) +[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match) + +[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) + +## Example + +Get the first matching pair of braces: + +```js +var balanced = require('balanced-match'); + +console.log(balanced('{', '}', 'pre{in{nested}}post')); +console.log(balanced('{', '}', 'pre{first}between{second}post')); +console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post')); +``` + +The matches are: + +```bash +$ node example.js +{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } +{ start: 3, + end: 9, + pre: 'pre', + body: 'first', + post: 'between{second}post' } +{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' } +``` + +## API + +### var m = balanced(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +object with those keys: + +* **start** the index of the first match of `a` +* **end** the index of the matching `b` +* **pre** the preamble, `a` and `b` not included +* **body** the match, `a` and `b` not included +* **post** the postscript, `a` and `b` not included + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`. + +### var r = balanced.range(a, b, str) + +For the first non-nested matching pair of `a` and `b` in `str`, return an +array with indexes: `[ , ]`. + +If there's no match, `undefined` will be returned. + +If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install balanced-match +``` + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +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/balanced-match/index.js b/node_modules/balanced-match/index.js new file mode 100644 index 0000000..1685a76 --- /dev/null +++ b/node_modules/balanced-match/index.js @@ -0,0 +1,59 @@ +'use strict'; +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} diff --git a/node_modules/balanced-match/package.json b/node_modules/balanced-match/package.json new file mode 100644 index 0000000..5fc21da --- /dev/null +++ b/node_modules/balanced-match/package.json @@ -0,0 +1,53 @@ +{ + "name": "balanced-match", + "description": "Match balanced character pairs, like \"{\" and \"}\"", + "version": "1.0.0", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/balanced-match.git" + }, + "homepage": "https://github.com/juliangruber/balanced-match", + "main": "index.js", + "scripts": { + "test": "make test", + "bench": "make bench" + }, + "dependencies": {}, + "devDependencies": { + "matcha": "^0.7.0", + "tape": "^4.6.0" + }, + "keywords": [ + "match", + "regexp", + "test", + "balanced", + "parse" + ], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } + +,"_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" +,"_integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" +,"_from": "balanced-match@1.0.0" +} \ No newline at end of file diff --git a/node_modules/before-after-hook/LICENSE b/node_modules/before-after-hook/LICENSE new file mode 100644 index 0000000..225063c --- /dev/null +++ b/node_modules/before-after-hook/LICENSE @@ -0,0 +1,201 @@ + 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: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) 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 + + (d) 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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Gregor Martynus and other contributors. + + 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. diff --git a/node_modules/before-after-hook/README.md b/node_modules/before-after-hook/README.md new file mode 100644 index 0000000..68c927d --- /dev/null +++ b/node_modules/before-after-hook/README.md @@ -0,0 +1,574 @@ +# before-after-hook + +> asynchronous hooks for internal functionality + +[![npm downloads](https://img.shields.io/npm/dw/before-after-hook.svg)](https://www.npmjs.com/package/before-after-hook) +[![Build Status](https://travis-ci.org/gr2m/before-after-hook.svg?branch=master)](https://travis-ci.org/gr2m/before-after-hook) +[![Coverage Status](https://coveralls.io/repos/gr2m/before-after-hook/badge.svg?branch=master)](https://coveralls.io/r/gr2m/before-after-hook?branch=master) +[![Greenkeeper badge](https://badges.greenkeeper.io/gr2m/before-after-hook.svg)](https://greenkeeper.io/) + +## Usage + +### Singular hook + +Recommended for [TypeScript](#typescript) + +```js +// instantiate singular hook API +const hook = new Hook.Singular() + +// Create a hook +function getData (options) { + return hook(fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError) +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hook.before(beforeHook) +hook.error(errorHook) +hook.after(afterHook) + +getData({id: 123}) +``` + +### Hook collection +```js +// instantiate hook collection API +const hookCollection = new Hook.Collection() + +// Create a hook +function getData (options) { + return hookCollection('get', fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError) +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hookCollection.before('get', beforeHook) +hookCollection.error('get', errorHook) +hookCollection.after('get', afterHook) + +getData({id: 123}) +``` + +### Hook.Singular vs Hook.Collection + +There's no fundamental difference between the `Hook.Singular` and `Hook.Collection` hooks except for the fact that a hook from a collection requires you to pass along the name. Therefore the following explanation applies to both code snippets as described above. + +The methods are executed in the following order + +1. `beforeHook` +2. `fetchFromDatabase` +3. `afterHook` +4. `getData` + +`beforeHook` can mutate `options` before it’s passed to `fetchFromDatabase`. + +If an error is thrown in `beforeHook` or `fetchFromDatabase` then `errorHook` is +called next. + +If `afterHook` throws an error then `handleGetError` is called instead +of `getData`. + +If `errorHook` throws an error then `handleGetError` is called next, otherwise +`afterHook` and `getData`. + +You can also use `hook.wrap` to achieve the same thing as shown above (collection example): + +```js +hookCollection.wrap('get', async (getData, options) => { + await beforeHook(options) + + try { + const result = getData(options) + } catch (error) { + await errorHook(error, options) + } + + await afterHook(result, options) +}) +``` + +## Install + +``` +npm install before-after-hook +``` + +Or download [the latest `before-after-hook.min.js`](https://github.com/gr2m/before-after-hook/releases/latest). + +## API + +- [Singular Hook Constructor](#singular-hook-api) +- [Hook Collection Constructor](#hook-collection-api) + +## Singular hook API + +- [Singular constructor](#singular-constructor) +- [hook.api](#singular-api) +- [hook()](#singular-api) +- [hook.before()](#singular-api) +- [hook.error()](#singular-api) +- [hook.after()](#singular-api) +- [hook.wrap()](#singular-api) +- [hook.remove()](#singular-api) + +### Singular constructor + +The `Hook.Singular` constructor has no options and returns a `hook` instance with the +methods below: + +```js +const hook = new Hook.Singular() +``` +Using the singular hook is recommended for [TypeScript](#typescript) + +### Singular API + +The singular hook is a reference to a single hook. This means that there's no need to pass along any identifier (such as a `name` as can be seen in the [Hook.Collection API](#hookcollectionapi)). + +The API of a singular hook is exactly the same as a collection hook and we therefore suggest you read the [Hook.Collection API](#hookcollectionapi) and leave out any use of the `name` argument. Just skip it like described in this example: +```js +const hook = new Hook.Singular() + +// good +hook.before(beforeHook) +hook.after(afterHook) +hook(fetchFromDatabase, options) + +// bad +hook.before('get', beforeHook) +hook.after('get', afterHook) +hook('get', fetchFromDatabase, options) +``` + +## Hook collection API + +- [Collection constructor](#collection-constructor) +- [collection.api](#collectionapi) +- [collection()](#collection) +- [collection.before()](#collectionbefore) +- [collection.error()](#collectionerror) +- [collection.after()](#collectionafter) +- [collection.wrap()](#collectionwrap) +- [collection.remove()](#collectionremove) + +### Collection constructor + +The `Hook.Collection` constructor has no options and returns a `hookCollection` instance with the +methods below + +```js +const hookCollection = new Hook.Collection() +``` + +### hookCollection.api + +Use the `api` property to return the public API: + +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +That way you don’t need to expose the [hookCollection()](#hookcollection) method to consumers of your library + +### hookCollection() + +Invoke before and after hooks. Returns a promise. + +```js +hookCollection(nameOrNames, method /*, options */) +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameString or Array of StringsHook name, for example 'save'. Or an array of names, see example below.Yes
methodFunctionCallback to be executed after all before hooks finished execution successfully. options is passed as first argumentYes
optionsObjectWill be passed to all before hooks as reference, so they can mutate itNo, defaults to empty object ({})
+ +Resolves with whatever `method` returns or resolves with. +Rejects with error that is thrown or rejected with by + +1. Any of the before hooks, whichever rejects / throws first +2. `method` +3. Any of the after hooks, whichever rejects / throws first + +Simple Example + +```js +hookCollection('save', function (record) { + return store.save(record) +}, record) +// shorter: hookCollection('save', store.save, record) + +hookCollection.before('save', function addTimestamps (record) { + const now = new Date().toISOString() + if (record.createdAt) { + record.updatedAt = now + } else { + record.createdAt = now + } +}) +``` + +Example defining multiple hooks at once. + +```js +hookCollection(['add', 'save'], function (record) { + return store.save(record) +}, record) + +hookCollection.before('add', function addTimestamps (record) { + if (!record.type) { + throw new Error('type property is required') + } +}) + +hookCollection.before('save', function addTimestamps (record) { + if (!record.type) { + throw new Error('type property is required') + } +}) +``` + +Defining multiple hooks is helpful if you have similar methods for which you want to define separate hooks, but also an additional hook that gets called for all at once. The example above is equal to this: + +```js +hookCollection('add', function (record) { + return hookCollection('save', function (record) { + return store.save(record) + }, record) +}, record) +``` + +### hookCollection.before() + +Add before hook for given name. + +```js +hookCollection.before(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed before the wrapped method. Called with the hook’s + options argument. Before hooks can mutate the passed options + before they are passed to the wrapped method. + Yes
+ +Example + +```js +hookCollection.before('save', function validate (record) { + if (!record.name) { + throw new Error('name property is required') + } +}) +``` + +### hookCollection.error() + +Add error hook for given name. + +```js +hookCollection.error(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed when an error occurred in either the wrapped method or a + before hook. Called with the thrown error + and the hook’s options argument. The first method + which does not throw an error will set the result that the after hook + methods will receive. + Yes
+ +Example + +```js +hookCollection.error('save', function (error, options) { + if (error.ignore) return + throw error +}) +``` + +### hookCollection.after() + +Add after hook for given name. + +```js +hookCollection.after(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed after wrapped method. Called with what the wrapped method + resolves with the hook’s options argument. + Yes
+ +Example + +```js +hookCollection.after('save', function (result, options) { + if (result.updatedAt) { + app.emit('update', result) + } else { + app.emit('create', result) + } +}) +``` + +### hookCollection.wrap() + +Add wrap hook for given name. + +```js +hookCollection.wrap(name, method) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Receives both the wrapped method and the passed options as arguments so it can add logic before and after the wrapped method, it can handle errors and even replace the wrapped method altogether + Yes
+ +Example + +```js +hookCollection.wrap('save', async function (saveInDatabase, options) { + if (!record.name) { + throw new Error('name property is required') + } + + try { + const result = await saveInDatabase(options) + + if (result.updatedAt) { + app.emit('update', result) + } else { + app.emit('create', result) + } + + return result + } catch (error) { + if (error.ignore) return + throw error + } +}) +``` + +See also: [Test mock example](examples/test-mock-example.md) + +### hookCollection.remove() + +Removes hook for given name. + +```js +hookCollection.remove(name, hookMethod) +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
beforeHookMethodFunction + Same function that was previously passed to hookCollection.before(), hookCollection.error(), hookCollection.after() or hookCollection.wrap() + Yes
+ +Example + +```js +hookCollection.remove('save', validateRecord) +``` + +## TypeScript + +This library contains type definitions for TypeScript. When you use TypeScript we highly recommend using the `Hook.Singular` constructor for your hooks as this allows you to pass along type information for the options object. For example: + +```ts + +import {Hook} from 'before-after-hook' + +interface Foo { + bar: string + num: number; +} + +const hook = new Hook.Singular(); + +hook.before(function (foo) { + + // typescript will complain about the following mutation attempts + foo.hello = 'world' + foo.bar = 123 + + // yet this is valid + foo.bar = 'other-string' + foo.num = 123 +}) + +const foo = hook(function(foo) { + // handle `foo` + foo.bar = 'another-string' +}, {bar: 'random-string'}) + +// foo outputs +{ + bar: 'another-string', + num: 123 +} +``` + +An alternative import: + +```ts +import {Singular, Collection} from 'before-after-hook' + +const hook = new Singular<{foo: string}>(); +const hookCollection = new Collection(); +``` + +## Upgrading to 1.4 + +Since version 1.4 the `Hook` constructor has been deprecated in favor of returning `Hook.Singular` in an upcoming breaking release. + +Version 1.4 is still 100% backwards-compatible, but if you want to continue using hook collections, we recommend using the `Hook.Collection` constructor instead before the next release. + +For even more details, check out [the PR](https://github.com/gr2m/before-after-hook/pull/52). + +## See also + +If `before-after-hook` is not for you, have a look at one of these alternatives: + +- https://github.com/keystonejs/grappling-hook +- https://github.com/sebelga/promised-hooks +- https://github.com/bnoguchi/hooks-js +- https://github.com/cb1kenobi/hook-emitter + +## License + +[Apache 2.0](LICENSE) diff --git a/node_modules/before-after-hook/index.d.ts b/node_modules/before-after-hook/index.d.ts new file mode 100644 index 0000000..3c19a5c --- /dev/null +++ b/node_modules/before-after-hook/index.d.ts @@ -0,0 +1,96 @@ +type HookMethod = (options: O) => R | Promise + +type BeforeHook = (options: O) => void +type ErrorHook = (error: E, options: O) => void +type AfterHook = (result: R, options: O) => void +type WrapHook = ( + hookMethod: HookMethod, + options: O +) => R | Promise + +type AnyHook = + | BeforeHook + | ErrorHook + | AfterHook + | WrapHook + +export interface HookCollection { + /** + * Invoke before and after hooks + */ + ( + name: string | string[], + hookMethod: HookMethod, + options?: any + ): Promise + /** + * Add `before` hook for given `name` + */ + before(name: string, beforeHook: BeforeHook): void + /** + * Add `error` hook for given `name` + */ + error(name: string, errorHook: ErrorHook): void + /** + * Add `after` hook for given `name` + */ + after(name: string, afterHook: AfterHook): void + /** + * Add `wrap` hook for given `name` + */ + wrap(name: string, wrapHook: WrapHook): void + /** + * Remove added hook for given `name` + */ + remove(name: string, hook: AnyHook): void +} + +export interface HookSingular { + /** + * Invoke before and after hooks + */ + (hookMethod: HookMethod, options?: O): Promise + /** + * Add `before` hook + */ + before(beforeHook: BeforeHook): void + /** + * Add `error` hook + */ + error(errorHook: ErrorHook): void + /** + * Add `after` hook + */ + after(afterHook: AfterHook): void + /** + * Add `wrap` hook + */ + wrap(wrapHook: WrapHook): void + /** + * Remove added hook + */ + remove(hook: AnyHook): void +} + +type Collection = new () => HookCollection +type Singular = new () => HookSingular + +interface Hook { + new (): HookCollection + + /** + * Creates a collection of hooks + */ + Collection: Collection + + /** + * Creates a nameless hook that supports strict typings + */ + Singular: Singular +} + +export const Hook: Hook +export const Collection: Collection +export const Singular: Singular + +export default Hook diff --git a/node_modules/before-after-hook/index.js b/node_modules/before-after-hook/index.js new file mode 100644 index 0000000..a97d89b --- /dev/null +++ b/node_modules/before-after-hook/index.js @@ -0,0 +1,57 @@ +var register = require('./lib/register') +var addHook = require('./lib/add') +var removeHook = require('./lib/remove') + +// 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 diff --git a/node_modules/before-after-hook/lib/add.js b/node_modules/before-after-hook/lib/add.js new file mode 100644 index 0000000..a34e3f4 --- /dev/null +++ b/node_modules/before-after-hook/lib/add.js @@ -0,0 +1,46 @@ +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 + }) +} diff --git a/node_modules/before-after-hook/lib/register.js b/node_modules/before-after-hook/lib/register.js new file mode 100644 index 0000000..b3d01fd --- /dev/null +++ b/node_modules/before-after-hook/lib/register.js @@ -0,0 +1,28 @@ +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)() + }) +} diff --git a/node_modules/before-after-hook/lib/remove.js b/node_modules/before-after-hook/lib/remove.js new file mode 100644 index 0000000..e357c51 --- /dev/null +++ b/node_modules/before-after-hook/lib/remove.js @@ -0,0 +1,17 @@ +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) +} diff --git a/node_modules/before-after-hook/package.json b/node_modules/before-after-hook/package.json new file mode 100644 index 0000000..e43a284 --- /dev/null +++ b/node_modules/before-after-hook/package.json @@ -0,0 +1,74 @@ +{ + "name": "before-after-hook", + "version": "2.1.0", + "description": "asynchronous before/error/after hooks for internal functionality", + "files": [ + "index.js", + "index.d.ts", + "lib" + ], + "types": "./index.d.ts", + "scripts": { + "prebuild": "rimraf dist && mkdirp dist", + "build": "browserify index.js --standalone=Hook > dist/before-after-hook.js", + "postbuild": "uglifyjs dist/before-after-hook.js -mc > dist/before-after-hook.min.js", + "pretest": "standard", + "test": "npm run -s test:node | tap-spec", + "posttest": "npm run validate:ts", + "test:node": "node test", + "test:watch": "gaze 'clear && node test | tap-min' 'test/**/*.js' 'index.js' 'lib/**/*.js'", + "test:coverage": "istanbul cover test", + "test:coverage:upload": "istanbul-coveralls", + "validate:ts": "tsc --strict --target es6 index.d.ts", + "postvalidate:ts": "tsc --noEmit --strict --target es6 test/typescript-validate.ts", + "presemantic-release": "npm run build", + "semantic-release": "semantic-release" + }, + "repository": { + "type": "git", + "url": "https://github.com/gr2m/before-after-hook.git" + }, + "keywords": [ + "hook", + "hooks", + "api" + ], + "author": "Gregor Martynus", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/gr2m/before-after-hook/issues" + }, + "homepage": "https://github.com/gr2m/before-after-hook#readme", + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "gaze-cli": "^0.2.0", + "istanbul": "^0.4.0", + "istanbul-coveralls": "^1.0.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.4.4", + "semantic-release": "^15.0.0", + "simple-mock": "^0.8.0", + "standard": "^13.0.1", + "tap-min": "^2.0.0", + "tap-spec": "^5.0.0", + "tape": "^4.2.2", + "typescript": "^3.5.3", + "uglify-js": "^3.0.0" + }, + "release": { + "publish": [ + "@semantic-release/npm", + { + "path": "@semantic-release/github", + "assets": [ + "dist/*.js" + ] + } + ] + } + +,"_resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz" +,"_integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" +,"_from": "before-after-hook@2.1.0" +} \ No newline at end of file diff --git a/node_modules/brace-expansion/LICENSE b/node_modules/brace-expansion/LICENSE new file mode 100644 index 0000000..de32266 --- /dev/null +++ b/node_modules/brace-expansion/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2013 Julian Gruber + +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/brace-expansion/README.md b/node_modules/brace-expansion/README.md new file mode 100644 index 0000000..6b4e0e1 --- /dev/null +++ b/node_modules/brace-expansion/README.md @@ -0,0 +1,129 @@ +# brace-expansion + +[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), +as known from sh/bash, in JavaScript. + +[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion) +[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion) +[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/) + +[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion) + +## Example + +```js +var expand = require('brace-expansion'); + +expand('file-{a,b,c}.jpg') +// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] + +expand('-v{,,}') +// => ['-v', '-v', '-v'] + +expand('file{0..2}.jpg') +// => ['file0.jpg', 'file1.jpg', 'file2.jpg'] + +expand('file-{a..c}.jpg') +// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] + +expand('file{2..0}.jpg') +// => ['file2.jpg', 'file1.jpg', 'file0.jpg'] + +expand('file{0..4..2}.jpg') +// => ['file0.jpg', 'file2.jpg', 'file4.jpg'] + +expand('file-{a..e..2}.jpg') +// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg'] + +expand('file{00..10..5}.jpg') +// => ['file00.jpg', 'file05.jpg', 'file10.jpg'] + +expand('{{A..C},{a..c}}') +// => ['A', 'B', 'C', 'a', 'b', 'c'] + +expand('ppp{,config,oe{,conf}}') +// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf'] +``` + +## API + +```js +var expand = require('brace-expansion'); +``` + +### var expanded = expand(str) + +Return an array of all possible and valid expansions of `str`. If none are +found, `[str]` is returned. + +Valid expansions are: + +```js +/^(.*,)+(.+)?$/ +// {a,b,...} +``` + +A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. + +```js +/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ +// {x..y[..incr]} +``` + +A numeric sequence from `x` to `y` inclusive, with optional increment. +If `x` or `y` start with a leading `0`, all the numbers will be padded +to have equal length. Negative numbers and backwards iteration work too. + +```js +/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ +// {x..y[..incr]} +``` + +An alphabetic sequence from `x` to `y` inclusive, with optional increment. +`x` and `y` must be exactly one character, and if given, `incr` must be a +number. + +For compatibility reasons, the string `${` is not eligible for brace expansion. + +## Installation + +With [npm](https://npmjs.org) do: + +```bash +npm install brace-expansion +``` + +## Contributors + +- [Julian Gruber](https://github.com/juliangruber) +- [Isaac Z. Schlueter](https://github.com/isaacs) + +## Sponsors + +This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)! + +Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)! + +## License + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +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/brace-expansion/index.js b/node_modules/brace-expansion/index.js new file mode 100644 index 0000000..0478be8 --- /dev/null +++ b/node_modules/brace-expansion/index.js @@ -0,0 +1,201 @@ +var concatMap = require('concat-map'); +var balanced = require('balanced-match'); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function identity(e) { + return e; +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + diff --git a/node_modules/brace-expansion/package.json b/node_modules/brace-expansion/package.json new file mode 100644 index 0000000..99f83cd --- /dev/null +++ b/node_modules/brace-expansion/package.json @@ -0,0 +1,51 @@ +{ + "name": "brace-expansion", + "description": "Brace expansion as known from sh/bash", + "version": "1.1.11", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/brace-expansion.git" + }, + "homepage": "https://github.com/juliangruber/brace-expansion", + "main": "index.js", + "scripts": { + "test": "tape test/*.js", + "gentest": "bash test/generate.sh", + "bench": "matcha test/perf/bench.js" + }, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "devDependencies": { + "matcha": "^0.7.0", + "tape": "^4.6.0" + }, + "keywords": [], + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" + }, + "license": "MIT", + "testling": { + "files": "test/*.js", + "browsers": [ + "ie/8..latest", + "firefox/20..latest", + "firefox/nightly", + "chrome/25..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } + +,"_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" +,"_integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" +,"_from": "brace-expansion@1.1.11" +} \ No newline at end of file diff --git a/node_modules/btoa-lite/.npmignore b/node_modules/btoa-lite/.npmignore new file mode 100644 index 0000000..50c7458 --- /dev/null +++ b/node_modules/btoa-lite/.npmignore @@ -0,0 +1,6 @@ +node_modules +*.log +.DS_Store +bundle.js +test +test.js diff --git a/node_modules/btoa-lite/LICENSE.md b/node_modules/btoa-lite/LICENSE.md new file mode 100644 index 0000000..ee27ba4 --- /dev/null +++ b/node_modules/btoa-lite/LICENSE.md @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +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/btoa-lite/README.md b/node_modules/btoa-lite/README.md new file mode 100644 index 0000000..e36492e --- /dev/null +++ b/node_modules/btoa-lite/README.md @@ -0,0 +1,37 @@ +# btoa-lite +![](http://img.shields.io/badge/stability-stable-orange.svg?style=flat) +![](http://img.shields.io/npm/v/btoa-lite.svg?style=flat) +![](http://img.shields.io/npm/dm/btoa-lite.svg?style=flat) +![](http://img.shields.io/npm/l/btoa-lite.svg?style=flat) + +Smallest/simplest possible means of using btoa with both Node and browserify. + +In the browser, encoding base64 strings is done using: + +``` javascript +var encoded = btoa(decoded) +``` + +However in Node, it's done like so: + +``` javascript +var encoded = new Buffer(decoded).toString('base64') +``` + +You can easily check if `Buffer` exists and switch between the approaches +accordingly, but using `Buffer` anywhere in your browser source will pull +in browserify's `Buffer` shim which is pretty hefty. This package uses +the `main` and `browser` fields in its `package.json` to perform this +check at build time and avoid pulling `Buffer` in unnecessarily. + +## Usage + +[![NPM](https://nodei.co/npm/btoa-lite.png)](https://nodei.co/npm/btoa-lite/) + +### `encoded = btoa(decoded)` + +Returns the base64-encoded value of a string. + +## License + +MIT. See [LICENSE.md](http://github.com/hughsk/btoa-lite/blob/master/LICENSE.md) for details. diff --git a/node_modules/btoa-lite/btoa-browser.js b/node_modules/btoa-lite/btoa-browser.js new file mode 100644 index 0000000..1b3acdb --- /dev/null +++ b/node_modules/btoa-lite/btoa-browser.js @@ -0,0 +1,3 @@ +module.exports = function _btoa(str) { + return btoa(str) +} diff --git a/node_modules/btoa-lite/btoa-node.js b/node_modules/btoa-lite/btoa-node.js new file mode 100644 index 0000000..0278470 --- /dev/null +++ b/node_modules/btoa-lite/btoa-node.js @@ -0,0 +1,3 @@ +module.exports = function btoa(str) { + return new Buffer(str).toString('base64') +} diff --git a/node_modules/btoa-lite/package.json b/node_modules/btoa-lite/package.json new file mode 100644 index 0000000..c99299a --- /dev/null +++ b/node_modules/btoa-lite/package.json @@ -0,0 +1,45 @@ +{ + "name": "btoa-lite", + "version": "1.0.0", + "description": "Smallest/simplest possible means of using btoa with both Node and browserify", + "main": "btoa-node.js", + "browser": "btoa-browser.js", + "license": "MIT", + "scripts": { + "test": "npm run test-node && npm run test-browser", + "test-node": "node test | tap-spec", + "test-browser": "browserify test | smokestack | tap-spec" + }, + "author": { + "name": "Hugh Kennedy", + "email": "hughskennedy@gmail.com", + "url": "http://hughsk.io/" + }, + "dependencies": {}, + "devDependencies": { + "browserify": "^10.2.4", + "smokestack": "^3.3.0", + "tap-spec": "^4.0.0", + "tape": "^4.0.0" + }, + "repository": { + "type": "git", + "url": "git://github.com/hughsk/btoa-lite.git" + }, + "keywords": [ + "btoa", + "base64", + "isomorphic", + "browser", + "node", + "shared" + ], + "homepage": "https://github.com/hughsk/btoa-lite", + "bugs": { + "url": "https://github.com/hughsk/btoa-lite/issues" + } + +,"_resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz" +,"_integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=" +,"_from": "btoa-lite@1.0.0" +} \ No newline at end of file diff --git a/node_modules/camelcase/index.d.ts b/node_modules/camelcase/index.d.ts new file mode 100644 index 0000000..58f2069 --- /dev/null +++ b/node_modules/camelcase/index.d.ts @@ -0,0 +1,63 @@ +declare namespace camelcase { + interface Options { + /** + Uppercase the first character: `foo-bar` → `FooBar`. + + @default false + */ + readonly pascalCase?: boolean; + } +} + +declare const camelcase: { + /** + Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`. + + @param input - String to convert to camel case. + + @example + ``` + import camelCase = require('camelcase'); + + camelCase('foo-bar'); + //=> 'fooBar' + + camelCase('foo_bar'); + //=> 'fooBar' + + camelCase('Foo-Bar'); + //=> 'fooBar' + + camelCase('Foo-Bar', {pascalCase: true}); + //=> 'FooBar' + + camelCase('--foo.bar', {pascalCase: false}); + //=> 'fooBar' + + camelCase('foo bar'); + //=> 'fooBar' + + console.log(process.argv[3]); + //=> '--foo-bar' + camelCase(process.argv[3]); + //=> 'fooBar' + + camelCase(['foo', 'bar']); + //=> 'fooBar' + + camelCase(['__foo__', '--bar'], {pascalCase: true}); + //=> 'FooBar' + ``` + */ + (input: string | ReadonlyArray, options?: camelcase.Options): string; + + // TODO: Remove this for the next major release, refactor the whole definition to: + // declare function camelcase( + // input: string | ReadonlyArray, + // options?: camelcase.Options + // ): string; + // export = camelcase; + default: typeof camelcase; +}; + +export = camelcase; diff --git a/node_modules/camelcase/index.js b/node_modules/camelcase/index.js new file mode 100644 index 0000000..579f99b --- /dev/null +++ b/node_modules/camelcase/index.js @@ -0,0 +1,76 @@ +'use strict'; + +const preserveCamelCase = string => { + let isLastCharLower = false; + let isLastCharUpper = false; + let isLastLastCharUpper = false; + + for (let i = 0; i < string.length; i++) { + const character = string[i]; + + if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) { + string = string.slice(0, i) + '-' + string.slice(i); + isLastCharLower = false; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = true; + i++; + } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) { + string = string.slice(0, i - 1) + '-' + string.slice(i - 1); + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = false; + isLastCharLower = true; + } else { + isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character; + } + } + + return string; +}; + +const camelCase = (input, options) => { + if (!(typeof input === 'string' || Array.isArray(input))) { + throw new TypeError('Expected the input to be `string | string[]`'); + } + + options = Object.assign({ + pascalCase: false + }, options); + + const postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x; + + if (Array.isArray(input)) { + input = input.map(x => x.trim()) + .filter(x => x.length) + .join('-'); + } else { + input = input.trim(); + } + + if (input.length === 0) { + return ''; + } + + if (input.length === 1) { + return options.pascalCase ? input.toUpperCase() : input.toLowerCase(); + } + + const hasUpperCase = input !== input.toLowerCase(); + + if (hasUpperCase) { + input = preserveCamelCase(input); + } + + input = input + .replace(/^[_.\- ]+/, '') + .toLowerCase() + .replace(/[_.\- ]+(\w|$)/g, (_, p1) => p1.toUpperCase()) + .replace(/\d+(\w|$)/g, m => m.toUpperCase()); + + return postProcess(input); +}; + +module.exports = camelCase; +// TODO: Remove this for the next major release +module.exports.default = camelCase; diff --git a/node_modules/camelcase/license b/node_modules/camelcase/license new file mode 100644 index 0000000..e7af2f7 --- /dev/null +++ b/node_modules/camelcase/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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/camelcase/package.json b/node_modules/camelcase/package.json new file mode 100644 index 0000000..07bc8fe --- /dev/null +++ b/node_modules/camelcase/package.json @@ -0,0 +1,47 @@ +{ + "name": "camelcase", + "version": "5.3.1", + "description": "Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`", + "license": "MIT", + "repository": "sindresorhus/camelcase", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=6" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "camelcase", + "camel-case", + "camel", + "case", + "dash", + "hyphen", + "dot", + "underscore", + "separator", + "string", + "text", + "convert", + "pascalcase", + "pascal-case" + ], + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.7.1", + "xo": "^0.24.0" + } + +,"_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" +,"_integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" +,"_from": "camelcase@5.3.1" +} \ No newline at end of file diff --git a/node_modules/camelcase/readme.md b/node_modules/camelcase/readme.md new file mode 100644 index 0000000..fde2726 --- /dev/null +++ b/node_modules/camelcase/readme.md @@ -0,0 +1,99 @@ +# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase) + +> Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar` + +--- + + + +--- + +## Install + +``` +$ npm install camelcase +``` + + +## Usage + +```js +const camelCase = require('camelcase'); + +camelCase('foo-bar'); +//=> 'fooBar' + +camelCase('foo_bar'); +//=> 'fooBar' + +camelCase('Foo-Bar'); +//=> 'fooBar' + +camelCase('Foo-Bar', {pascalCase: true}); +//=> 'FooBar' + +camelCase('--foo.bar', {pascalCase: false}); +//=> 'fooBar' + +camelCase('foo bar'); +//=> 'fooBar' + +console.log(process.argv[3]); +//=> '--foo-bar' +camelCase(process.argv[3]); +//=> 'fooBar' + +camelCase(['foo', 'bar']); +//=> 'fooBar' + +camelCase(['__foo__', '--bar'], {pascalCase: true}); +//=> 'FooBar' +``` + + +## API + +### camelCase(input, [options]) + +#### input + +Type: `string` `string[]` + +String to convert to camel case. + +#### options + +Type: `Object` + +##### pascalCase + +Type: `boolean`
+Default: `false` + +Uppercase the first character: `foo-bar` → `FooBar` + + +## Security + +To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure. + + +## Related + +- [decamelize](https://github.com/sindresorhus/decamelize) - The inverse of this module +- [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase +- [titleize](https://github.com/sindresorhus/titleize) - Capitalize every word in string +- [humanize-string](https://github.com/sindresorhus/humanize-string) - Convert a camelized/dasherized/underscored string into a humanized one + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/chalk/index.js b/node_modules/chalk/index.js new file mode 100644 index 0000000..1cc5fa8 --- /dev/null +++ b/node_modules/chalk/index.js @@ -0,0 +1,228 @@ +'use strict'; +const escapeStringRegexp = require('escape-string-regexp'); +const ansiStyles = require('ansi-styles'); +const stdoutColor = require('supports-color').stdout; + +const template = require('./templates.js'); + +const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); + +// `supportsColor.level` → `ansiStyles.color[name]` mapping +const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; + +// `color-convert` models to exclude from the Chalk API due to conflicts and such +const skipModels = new Set(['gray']); + +const styles = Object.create(null); + +function applyOptions(obj, options) { + options = options || {}; + + // Detect level if not set manually + const scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === undefined ? scLevel : options.level; + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; +} + +function Chalk(options) { + // We check for this.template here since calling `chalk.constructor()` + // by itself will have a `this` of a previously constructed chalk object + if (!this || !(this instanceof Chalk) || this.template) { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = function () { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + + chalk.template.constructor = Chalk; + + return chalk.template; + } + + applyOptions(this, options); +} + +// Use bright blue on Windows as the normal blue color is illegible +if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001B[94m'; +} + +for (const key of Object.keys(ansiStyles)) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + + styles[key] = { + get() { + const codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + }; +} + +styles.visible = { + get() { + return build.call(this, this._styles || [], true, 'visible'); + } +}; + +ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); +for (const model of Object.keys(ansiStyles.color.ansi)) { + if (skipModels.has(model)) { + continue; + } + + styles[model] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} + +ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); +for (const model of Object.keys(ansiStyles.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } + + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} + +const proto = Object.defineProperties(() => {}, styles); + +function build(_styles, _empty, key) { + const builder = function () { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder._empty = _empty; + + const self = this; + + Object.defineProperty(builder, 'level', { + enumerable: true, + get() { + return self.level; + }, + set(level) { + self.level = level; + } + }); + + Object.defineProperty(builder, 'enabled', { + enumerable: true, + get() { + return self.enabled; + }, + set(enabled) { + self.enabled = enabled; + } + }); + + // See below for fix regarding invisible grey/dim combination on Windows + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; + + // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + builder.__proto__ = proto; // eslint-disable-line no-proto + + return builder; +} + +function applyStyle() { + // Support varags, but simply cast to string in case there's only one arg + const args = arguments; + const argsLen = args.length; + let str = String(arguments[0]); + + if (argsLen === 0) { + return ''; + } + + if (argsLen > 1) { + // Don't slice `arguments`, it prevents V8 optimizations + for (let a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? '' : str; + } + + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + const originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ''; + } + + for (const code of this._styles.slice().reverse()) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; + + // Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS + // https://github.com/chalk/chalk/pull/92 + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } + + // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue + ansiStyles.dim.open = originalDim; + + return str; +} + +function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return [].slice.call(arguments, 1).join(' '); + } + + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; + + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); + parts.push(String(strings.raw[i])); + } + + return template(chalk, parts.join('')); +} + +Object.defineProperties(Chalk.prototype, styles); + +module.exports = Chalk(); // eslint-disable-line new-cap +module.exports.supportsColor = stdoutColor; +module.exports.default = module.exports; // For TypeScript diff --git a/node_modules/chalk/index.js.flow b/node_modules/chalk/index.js.flow new file mode 100644 index 0000000..622caaa --- /dev/null +++ b/node_modules/chalk/index.js.flow @@ -0,0 +1,93 @@ +// @flow strict + +type TemplateStringsArray = $ReadOnlyArray; + +export type Level = $Values<{ + None: 0, + Basic: 1, + Ansi256: 2, + TrueColor: 3 +}>; + +export type ChalkOptions = {| + enabled?: boolean, + level?: Level +|}; + +export type ColorSupport = {| + level: Level, + hasBasic: boolean, + has256: boolean, + has16m: boolean +|}; + +export interface Chalk { + (...text: string[]): string, + (text: TemplateStringsArray, ...placeholders: string[]): string, + constructor(options?: ChalkOptions): Chalk, + enabled: boolean, + level: Level, + rgb(r: number, g: number, b: number): Chalk, + hsl(h: number, s: number, l: number): Chalk, + hsv(h: number, s: number, v: number): Chalk, + hwb(h: number, w: number, b: number): Chalk, + bgHex(color: string): Chalk, + bgKeyword(color: string): Chalk, + bgRgb(r: number, g: number, b: number): Chalk, + bgHsl(h: number, s: number, l: number): Chalk, + bgHsv(h: number, s: number, v: number): Chalk, + bgHwb(h: number, w: number, b: number): Chalk, + hex(color: string): Chalk, + keyword(color: string): Chalk, + + +reset: Chalk, + +bold: Chalk, + +dim: Chalk, + +italic: Chalk, + +underline: Chalk, + +inverse: Chalk, + +hidden: Chalk, + +strikethrough: Chalk, + + +visible: Chalk, + + +black: Chalk, + +red: Chalk, + +green: Chalk, + +yellow: Chalk, + +blue: Chalk, + +magenta: Chalk, + +cyan: Chalk, + +white: Chalk, + +gray: Chalk, + +grey: Chalk, + +blackBright: Chalk, + +redBright: Chalk, + +greenBright: Chalk, + +yellowBright: Chalk, + +blueBright: Chalk, + +magentaBright: Chalk, + +cyanBright: Chalk, + +whiteBright: Chalk, + + +bgBlack: Chalk, + +bgRed: Chalk, + +bgGreen: Chalk, + +bgYellow: Chalk, + +bgBlue: Chalk, + +bgMagenta: Chalk, + +bgCyan: Chalk, + +bgWhite: Chalk, + +bgBlackBright: Chalk, + +bgRedBright: Chalk, + +bgGreenBright: Chalk, + +bgYellowBright: Chalk, + +bgBlueBright: Chalk, + +bgMagentaBright: Chalk, + +bgCyanBright: Chalk, + +bgWhiteBrigh: Chalk, + + supportsColor: ColorSupport +}; + +declare module.exports: Chalk; diff --git a/node_modules/chalk/license b/node_modules/chalk/license new file mode 100644 index 0000000..e7af2f7 --- /dev/null +++ b/node_modules/chalk/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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/chalk/node_modules/supports-color/browser.js b/node_modules/chalk/node_modules/supports-color/browser.js new file mode 100644 index 0000000..62afa3a --- /dev/null +++ b/node_modules/chalk/node_modules/supports-color/browser.js @@ -0,0 +1,5 @@ +'use strict'; +module.exports = { + stdout: false, + stderr: false +}; diff --git a/node_modules/chalk/node_modules/supports-color/index.js b/node_modules/chalk/node_modules/supports-color/index.js new file mode 100644 index 0000000..1704131 --- /dev/null +++ b/node_modules/chalk/node_modules/supports-color/index.js @@ -0,0 +1,131 @@ +'use strict'; +const os = require('os'); +const hasFlag = require('has-flag'); + +const env = process.env; + +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; +} +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; diff --git a/node_modules/chalk/node_modules/supports-color/license b/node_modules/chalk/node_modules/supports-color/license new file mode 100644 index 0000000..e7af2f7 --- /dev/null +++ b/node_modules/chalk/node_modules/supports-color/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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/chalk/node_modules/supports-color/package.json b/node_modules/chalk/node_modules/supports-color/package.json new file mode 100644 index 0000000..c01bdec --- /dev/null +++ b/node_modules/chalk/node_modules/supports-color/package.json @@ -0,0 +1,57 @@ +{ + "name": "supports-color", + "version": "5.5.0", + "description": "Detect whether a terminal supports color", + "license": "MIT", + "repository": "chalk/supports-color", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js", + "browser.js" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "ansi", + "styles", + "tty", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "support", + "supports", + "capability", + "detect", + "truecolor", + "16m" + ], + "dependencies": { + "has-flag": "^3.0.0" + }, + "devDependencies": { + "ava": "^0.25.0", + "import-fresh": "^2.0.0", + "xo": "^0.20.0" + }, + "browser": "browser.js" + +,"_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" +,"_integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" +,"_from": "supports-color@5.5.0" +} \ No newline at end of file diff --git a/node_modules/chalk/node_modules/supports-color/readme.md b/node_modules/chalk/node_modules/supports-color/readme.md new file mode 100644 index 0000000..f6e4019 --- /dev/null +++ b/node_modules/chalk/node_modules/supports-color/readme.md @@ -0,0 +1,66 @@ +# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color) + +> Detect whether a terminal supports color + + +## Install + +``` +$ npm install supports-color +``` + + +## Usage + +```js +const supportsColor = require('supports-color'); + +if (supportsColor.stdout) { + console.log('Terminal stdout supports color'); +} + +if (supportsColor.stdout.has256) { + console.log('Terminal stdout supports 256 colors'); +} + +if (supportsColor.stderr.has16m) { + console.log('Terminal stderr supports 16 million colors (truecolor)'); +} +``` + + +## API + +Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is an `Object`, or `false` if color is not supported. + +The `stdout`/`stderr` objects specifies a level of support for color through a `.level` property and a corresponding flag: + +- `.level = 1` and `.hasBasic = true`: Basic color support (16 colors) +- `.level = 2` and `.has256 = true`: 256 color support +- `.level = 3` and `.has16m = true`: Truecolor support (16 million colors) + + +## Info + +It obeys the `--color` and `--no-color` CLI flags. + +Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, add the environment variable `FORCE_COLOR=1` to forcefully enable color or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks. + +Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively. + + +## Related + +- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right + + +## Maintainers + +- [Sindre Sorhus](https://github.com/sindresorhus) +- [Josh Junon](https://github.com/qix-) + + +## License + +MIT diff --git a/node_modules/chalk/package.json b/node_modules/chalk/package.json new file mode 100644 index 0000000..0b96e37 --- /dev/null +++ b/node_modules/chalk/package.json @@ -0,0 +1,75 @@ +{ + "name": "chalk", + "version": "2.4.2", + "description": "Terminal string styling done right", + "license": "MIT", + "repository": "chalk/chalk", + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava", + "bench": "matcha benchmark.js", + "coveralls": "nyc report --reporter=text-lcov | coveralls" + }, + "files": [ + "index.js", + "templates.js", + "types/index.d.ts", + "index.js.flow" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "str", + "ansi", + "style", + "styles", + "tty", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "devDependencies": { + "ava": "*", + "coveralls": "^3.0.0", + "execa": "^0.9.0", + "flow-bin": "^0.68.0", + "import-fresh": "^2.0.0", + "matcha": "^0.7.0", + "nyc": "^11.0.2", + "resolve-from": "^4.0.0", + "typescript": "^2.5.3", + "xo": "*" + }, + "types": "types/index.d.ts", + "xo": { + "envs": [ + "node", + "mocha" + ], + "ignores": [ + "test/_flow.js" + ] + } + +,"_resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" +,"_integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" +,"_from": "chalk@2.4.2" +} \ No newline at end of file diff --git a/node_modules/chalk/readme.md b/node_modules/chalk/readme.md new file mode 100644 index 0000000..d298e2c --- /dev/null +++ b/node_modules/chalk/readme.md @@ -0,0 +1,314 @@ +

+
+
+ Chalk +
+
+
+

+ +> Terminal string styling done right + +[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) [![Coverage Status](https://coveralls.io/repos/github/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/github/chalk/chalk?branch=master) [![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo) [![Mentioned in Awesome Node.js](https://awesome.re/mentioned-badge.svg)](https://github.com/sindresorhus/awesome-nodejs) + +### [See what's new in Chalk 2](https://github.com/chalk/chalk/releases/tag/v2.0.0) + + + + +## Highlights + +- Expressive API +- Highly performant +- Ability to nest styles +- [256/Truecolor color support](#256-and-truecolor-color-support) +- Auto-detects color support +- Doesn't extend `String.prototype` +- Clean and focused +- Actively maintained +- [Used by ~23,000 packages](https://www.npmjs.com/browse/depended/chalk) as of December 31, 2017 + + +## Install + +```console +$ npm install chalk +``` + + + + + + +## Usage + +```js +const chalk = require('chalk'); + +console.log(chalk.blue('Hello world!')); +``` + +Chalk comes with an easy to use composable API where you just chain and nest the styles you want. + +```js +const chalk = require('chalk'); +const log = console.log; + +// Combine styled and normal strings +log(chalk.blue('Hello') + ' World' + chalk.red('!')); + +// Compose multiple styles using the chainable API +log(chalk.blue.bgRed.bold('Hello world!')); + +// Pass in multiple arguments +log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz')); + +// Nest styles +log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!')); + +// Nest styles of the same type even (color, underline, background) +log(chalk.green( + 'I am a green line ' + + chalk.blue.underline.bold('with a blue substring') + + ' that becomes green again!' +)); + +// ES2015 template literal +log(` +CPU: ${chalk.red('90%')} +RAM: ${chalk.green('40%')} +DISK: ${chalk.yellow('70%')} +`); + +// ES2015 tagged template literal +log(chalk` +CPU: {red ${cpu.totalPercent}%} +RAM: {green ${ram.used / ram.total * 100}%} +DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%} +`); + +// Use RGB colors in terminal emulators that support it. +log(chalk.keyword('orange')('Yay for orange colored text!')); +log(chalk.rgb(123, 45, 67).underline('Underlined reddish color')); +log(chalk.hex('#DEADED').bold('Bold gray!')); +``` + +Easily define your own themes: + +```js +const chalk = require('chalk'); + +const error = chalk.bold.red; +const warning = chalk.keyword('orange'); + +console.log(error('Error!')); +console.log(warning('Warning!')); +``` + +Take advantage of console.log [string substitution](https://nodejs.org/docs/latest/api/console.html#console_console_log_data_args): + +```js +const name = 'Sindre'; +console.log(chalk.green('Hello %s'), name); +//=> 'Hello Sindre' +``` + + +## API + +### chalk.`
+ + Get professional support for 'camelcase' with a Tidelift subscription + +
+ + Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. +
+